#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct gold{//金币结构体
int x,y;
};
int cmp(gold a,gold b)//sort函数cmp参数
{
return a.y<b.y;
}
int main()
{
gold golds[52];
int g,n,temp,time,flag;
cin>>g;
for(int i=0;i<g;i++)//g个case
{
cin>>n;
temp=0;//当前纵坐标
time=0;//当前时间
flag=1;//是否可以全部接到标志
for(int j=0;j<n;j++)//读入n个金币
{
cin>>golds[j].x>>golds[j].y;
}
sort(golds,golds+n,cmp);//按y值排序
for(int j=0;j<n;j++)//对于n个金币
{
if(golds[j].y-time>=abs(golds[j].x-temp))//如果下落至底部时间大于等于移动所需时间,则可以接到该金币,更新temp和time
{
temp=golds[j].x;
time=golds[j].y;
}
else//接不到该金币,退出循环
{
flag=0;
break;
}
}
if(flag==0)//按格式输出
{
cout<<"Notabletocatch"<<endl;
}
else
{
cout<<"Abletocatch"<<endl;
}
}
return 0;
}
洛谷p2694接金币 普及- 模拟
最新推荐文章于 2024-08-11 14:51:56 发布