#include<iostream> #include<stdio.h> using namespace std; /*jlh小时很喜欢玩弹珠,但是他的玩法有些特别。他在一条直线上放一些纸当陷阱,弹珠每次必须跳过一个陷阱(不能多也不能少),并且不掉到陷阱内, 如果弹珠顺利跳过所有陷阱,就算成功了,否则就算失败。我们假设弹珠每次跳相同的距离,现在让你写一个程序帮jlh判断,到底有没有可能成功。 Input: 先输入一个T,表示有T组测试数据。 每次输入一个n(n<=100),表示有n个陷阱,接下来n行, 每行输入区间(l,r),表示陷阱(0<=l<=r<=50000)。 Output: 如果jlh有可能成功,输出YES,否则输出NO。*/ int main(){ int jump; int T; int n; int j; int trap[100][2];int flag; std::cin>>T; while(T--){ std::cin>>n; jump=0; flag=1; trap[0][0]=0; trap[0][1]=0; for(int i=1;i<=n;i++){ std::cin>>trap[i][0]; std::cin>>trap[i][1]; } for(j=1;j<n;j++){ if(jump<trap[j][1]-trap[j][0]){ jump=trap[j][1]-trap[j][0]; } } for(int i=0;i<n-1;i++){ if(trap[i][0]+jump>trap[i+1][0]){ flag=0; } } if(flag==0){ std::cout<<"NO"; } else{ std::cout<<"YES"; } } return 0; } |
Double click to view unformatted code.