solution:

排序,相当于贪心的思路,因为题目是问能不能都接完,所以从快到慢考虑。

每次别忘了计算接A的同时B已经下落的时间

#include<cstdio>
#include<algorithm>
using namespace std;
struct ben
{
	int x,y;
}a[105];
int cmp(const ben &a,const ben &b)
{
	return a.y<b.y;
}
int abs(int x)
{
	if(x<0)return -x;
	return x;
}
int main()
{
	int T,n;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		for(int i=1;i<=n;i++)
		{
			scanf("%d%d",&a[i].x,&a[i].y);
		}
		sort(a+1,a+n+1,cmp);
		int tmp=0,tag=0;
		int flag=0;
		for(int i=1;i<=n;i++)
		{
			if(a[i].y-tag>=abs(a[i].x-tmp))
			{
				tag+=a[i].y;
				tmp=a[i].x;
				//printf("tmp=%d\n",tmp);
			}
			else
			{
				printf("Notabletocatch\n");
				flag=1;
				break;
			}
		}
		if(flag==0)
		{
			printf("Abletocatch\n");
		}
	}
	return 0;
}