#include <stdio.h> typedef struct data{ int min; int max; }safes; safes safe[103];//最多一百个陷阱即100个安全区 int main(int argc, char *argv[]) { int t,n;//t组数据,n个陷阱 int i; int step,loc; int flag; safe[0].min=0; scanf("%d",&t); while(t--){ scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&safe[i].max); scanf("%d",&safe[i+1].min); } safe[i].max=100000; /* for(i=0;i<=n;i++){ printf("最小值:%d 最大值:%d\n",safe[i].min,safe[i].max); }*/ for(step=safe[1].min;step<=safe[1].max;step++){ loc = step; flag = 1;//默认该步长可行 for(i=2;i<=n;i++){ loc+=step; if(loc<safe[i].min||loc>safe[i].max){//如果不满足任一安全区间 flag = 0; break; } } if(flag==1){//若满足了所有安全区间 printf("YES\n"); break; } } if(flag==0) printf("NO\n");//注意输出格式和要求! } return 0; } |
Double click to view unformatted code.