40求条
查看原帖
40求条
735888
shinynova楼主2024/8/11 16:05
#include<bits/stdc++.h>
using namespace std;
struct ppxx{
	long long p,x;
}px[2000005];
long long t,n,m,nc;
bool b;
bool cmd(ppxx a,ppxx b){
	return a.p>b.p;
}
int main(){
	cin>>t;
	while(t--){
		cin>>n>>m;
		if(m==0||m==1){
			cout<<"Yes\n";
			continue;
		}
		for(int i=1;i<=m;i++){
			cin>>px[i].p>>px[i].x;
		}
		sort(px+1,px+1+m,cmd);
		nc=(px[m].x-px[m-1].x)/(px[m].p-px[m-1].p);
		if((px[m].x-px[m-1].x)%(px[m].p-px[m-1].p)!=0){
		    cout<<"No\n";
		    continue;
		}
		b=1;
		for(int i=2;i<=m;i++){
			if((px[i].x-px[i-1].x)!=(px[i].p-px[i-1].p)*nc){
				b=0;
				break;
			}
		}
		if(b)cout<<"Yes\n";
		else cout<<"No\n";
	}
	return 0;
}
2024/8/11 16:05
加载中...