题目描述

在二维坐标系里,有N个金币,编号0至N-1。初始时,第i个金币的坐标是(Xi,Yi)。所有的金币每秒向下垂直下降一个单位高度,例如有个金币当前坐标是(xf, yf),那么t秒后金币所在的位置就是(xf, yf-t)。初始时,FJ在(0,0)坐标处,FJ每秒只能向左移动一个单位距离或者向右移动一个单位距离,当然FJ也可以不移动。如果在某个时刻某个金币和FJ所在的位置重合,那么FJ就能接住这个金币。FJ能否把所有的金币都接住?如果行输出Abletocatch,否则输出Notabletocatch。

输入输出格式

输入格式:

多组测试数据。

第一行,一个整数G,表示有G组测试数据。1 <= G <= 5。

每组测试数据格式如下:

第一行,一个整数N。 1 <= N <= 50。

接下来有N行,第i行两个整数表示Xi、Yi。

  -1000<=Xi<=1000。0<=Yi<=1000。

输出格式:

共G行,每行输出Abletocatch或Notabletocatch。

输入输出样例

输入样例#1: 复制

5
3
-1 1
1 3
0 4
1
-3 2
3
-1 1
1 2
0 4
3
0 9
-1 1
1 3
8
70 141
-108 299
52 402
-70 280
84 28
-29 363
66 427
-33 232
思路:数学+模拟
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int T,n,flag;
int x[],y[];
int main(){
scanf("%d",&T);
while(T--){
scanf("%d",&n);
flag=;x[]=;y[]=;
for(int i=;i<=n;i++) scanf("%d%d",&x[i],&y[i]);
for(int i=;i<=n;i++){
for(int j=i+;j<=n;j++){
if(abs(x[i]-x[j])>abs(y[i]-y[j])){
cout<<"Notabletocatch"<<endl;
flag=;break;
}
}
if(flag) break;
}
if(flag) continue;
else cout<<"Abletocatch"<<endl;
}
}
 

最新文章

  1. 宿主机ping不通虚拟机cenos7
  2. DLUTOJ #1394 Magic Questions
  3. 第一天&hellip;&hellip;
  4. ADF_Database Develop系列3_通过UML进行数据库开发之将Database Diagram转为Class Diagram
  5. [BZOJ 3791] 作业 【DP】
  6. iOS 短信验证码倒计时按钮的实现
  7. Cup
  8. 配置VIP地址
  9. 《转载》最新鲜最详细的Android SDK下载安装及配置教程
  10. python_内置函数1_42
  11. ETL脚本的版本管理方法和 SourceTree 使用
  12. 洛谷P2949 工作调度Work Scheduling [USACO09OPEN] 贪心
  13. css 按钮凹陷的感觉
  14. 使用.NET向webService传double、int、DateTime 服务器得到的数据时null的问题(转http://blog.csdn.net/slimboy123/article/details/4366701)
  15. Python gevent
  16. java 判断是否为纯数字
  17. TensorFlow中的卷积函数
  18. Python 中的面向对象和异常处理
  19. iOS:制作九宫格
  20. 周总结&lt;3&gt;

热门文章

  1. POJ 3281 网络流
  2. Hadoop的单节点集群详细启动步骤
  3. 将本地的代码上传到网上SVN库
  4. C# double保留四位小数
  5. 反斜杠处理函数addslashes()和stripslashes()
  6. Ubuntu16.04进入挂起或休眠状态时按任何键都无法唤醒问题解决办法
  7. docker升级&amp;加速器配置
  8. JAVA学习(一)——基本语法
  9. [C/C++标准库]_[0基础]_[使用fstream合并文本文件]
  10. Oracle-02-数据库概述