题目意思: 有n个人在比m米的比赛,现在给出这n个人的当前位置,(起点为0,0-399),以及这n个人的排名,问我么给出的排列是否正确
暴力求解。。
#include "iostream"
#include "algorithm"
using namespace std;
struct comp
{
int x,y;
} data[110];
bool cmp(const comp a,const comp b)
{
return a.y<b.y;
}
int main()
{
int t,n,m,ok,i;
scanf("%d",&t);
while (t--)
{
scanf("%d%d",&n,&m);
for (i=0;i<n;i++)
scanf("%d%d",&data[i].x,&data[i].y);
sort(data,data+n,cmp);
ok=1;
while (data[0].x+400<=m) data[0].x+=400;
for (i=1;i<n;i++)
{
while (data[i].x+400<=m && data[i].x+400<data[i-1].x) data[i].x+=400;
if (data[i].x>data[i-1].x) { ok=0; break;}
}
if (ok==0) printf("NO\n");
else printf("YES\n");
}
return 0;
}