CSP/NOIP新赛制内部挑战赛1 A. 旅行

 

 

 

 

 

 

直接判断距离和时间的差是否为偶数

如果是偶数就能到达

奇数就无法到达

 

代码

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
struct query
{
    int x,y,t;
}a[maxn];
bool cmp(query aa,query bb)
{
    return aa.t<bb.t;
}
int main()
{
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    int z,n; scanf("%d",&z);
    while(z--)
    {
        int flag=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%d%d%d",&a[i].t,&a[i].x,&a[i].y);
        sort(a+1,a+n+1,cmp);
        for(int i=1;i<=n;i++)
        {
            int pos=abs(a[i].x-a[i-1].x)+abs(a[i].y-a[i-1].y);
            int tt=a[i].t-a[i-1].t;
            if(pos>tt)
            {
                flag=1;
                break;
            }
            if((tt-pos)%2)
            {
                flag=1;
                break;
            }
        }
        if(!flag) printf("Yes\n");
        else printf("No\n");
    }
    return 0;
 }

 

posted @ 2020-11-26 11:03  andyc_03  阅读(121)  评论(0编辑  收藏  举报