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;
}
相关推荐
Evand J19 分钟前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
leikooo36 分钟前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
言乐638 分钟前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
言乐62 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779132 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i2 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
yl45302 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
朝朝辞暮i2 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
笨笨饿2 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
Godspeed Zhao3 小时前
现代智能雷达技术14——算法(0)
线性代数·算法·雷达