22 Dytechlab Cup 2022C. Ela and Crickets(思维、找规律、模拟)

思路就是找规律

可以发现,当拐点在角落时的情况和不在角落的情况是不同

当拐点在角落时,只有目标点的横纵坐标其中的一个和它相同时,这时才可能到达。

否则,我们就简单的例子可以看一下,当一个 2 ∗ 2 2*2 2∗2的矩阵的剩余的那个点(题中给了3点个坐标,确定的正方形的那个),当其他点的横纵坐标与该点的横纵坐标的差值都使偶数的时候是不可达的,其余的点都是可达的。

cpp 复制代码
#include <bits/stdc++.h>

#define int long long
#define rep(i, a, b) for(int i = (a); i <= (b); ++i)
#define fep(i, a, b) for(int i = (a); i >= (b); --i)
#define _for(i, a, b) for(int i=(a); i<(b); ++i)
#define pii pair<int, int>
#define pdd pair<double,double>
#define ll long long
#define db double
#define endl '\n'
#define x first
#define y second
#define pb push_back
#define vi vector<int>

using namespace std;
const int maxn = 2e5 + 10;
int x[4],y[4];

void solve() {
    int n;
    cin>>n;
    map<int,int>sx,sy;
    rep(i,1,3){
        cin>>x[i]>>y[i];
        sx[x[i]]++;
        sy[y[i]]++;
    }
    int xx,yy,nx,ny;
    rep(i,1,3){
        if(sx[x[i]]==2) xx=x[i];
        if(sy[y[i]]==2) yy=y[i];
        if(sx[x[i]] == 1) nx = x[i];
        if(sy[y[i]] == 1) ny = y[i];
    }
    int ex,ey;
    cin>>ex>>ey;
    int dx=abs(ex-nx);
    int dy=abs(ey-ny);
    if((xx==1||xx==n)&&(yy==1||yy==n)){
        if(ex==xx||ey==yy){
            cout<<"YES\n";
        }else{
            cout<<"NO\n";
        }
        return;
    }else{
        if(dx%2==0&&dy%2==0){
            cout<<"NO\n";
        }else{
            cout<<"YES\n";
        }
    }
}

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
//	freopen("C:\\Users\\24283\\CLionProjects\\untitled2\\1.in", "r", stdin);
    int _;
    cin >> _;
    while (_--)
        solve();
    return 0;
}
相关推荐
m0_461502693 分钟前
【贪心算法1】
算法·贪心算法
天才测试猿6 分钟前
功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
Doopny@18 分钟前
数字组合(信息学奥赛一本通-1291)
数据结构·算法·动态规划
计算机-秋大田19 分钟前
基于Spring Boot的宠物健康顾问系统的设计与实现(LW+源码+讲解)
java·vue.js·spring boot·后端·课程设计
君莫愁。25 分钟前
【Unity】搭建基于字典(Dictionary)和泛型列表(List)的音频系统
数据结构·unity·c#·游戏引擎·音频
vortex537 分钟前
在Kali中使用虚拟环境安装python工具的最佳实践:以 pwncat 为例
linux·python·网络安全·渗透测试·pip·kali
原来是猿1 小时前
蓝桥备赛(13)- 链表和 list(上)
开发语言·数据结构·c++·算法·链表·list
项目申报小狂人1 小时前
高性能算法NGO!北方苍鹰优化算法(Northern Goshawk Optimization,NGO)
算法·数学建模
周小闯1 小时前
Easyliev在线视频分享平台项目总结——SpringBoot、Mybatis、Redis、ElasticSearch、FFmpeg
spring boot·redis·mybatis
且听风吟ayan1 小时前
leetcode day26 重复的子字符串
算法·leetcode·c#