求hack或调代码
查看原帖
求hack或调代码
663195
Z_AuTwT楼主2024/1/25 16:34
#include<bits/stdc++.h>
using namespace std;
struct node{
	int x,y;
}arr[200010];
bool cmp(node a,node b){
	return a.y<b.y;
}
int main(){
	int t;
	cin>>t;
	while(t--){
		int n,m;
		cin>>n>>m;
		for(int i=1;i<=m;i++){
			cin>>arr[i].x>>arr[i].y;
		}
		if(m%2==1){
			cout<<"NO\n";
			continue;
		}
		sort(arr+1,arr+m+1,cmp);
		bool flag=true;
		int ky=1;
		for(int i=2;i<=m;i++){
			if(arr[i].y==arr[i-1].y){
				if(i!=2){
					cout<<"NO\n";
					flag=false;
					break;
				}
			}else{
				if(arr[i].x!=arr[i-1].x){
					int v=(arr[i].y-arr[i-1].y-1)*2+1+ky;
					if((v%2==1||(v/2)%2==1)&&v!=1){
						cout<<"NO\n";
						flag=false;
						break;
					}
					ky=v%2;
				}else{
					if((arr[i].y-arr[i-1].y-1)%2==1){
						cout<<"NO\n";
						flag=false;
						break;
					}
					ky++;
					ky%=2;
				}
			}
		}
		if(flag) cout<<"YES\n";
	}
}
2024/1/25 16:34
加载中...