View Code of Problem 6

#include<stdio.h>
int main(){
	int t,n,l,r,dis,flag;
  	int way[100][2];
  	scanf("%d\n",&t);
  	while(t--){
 		scanf("%d\n",&n);
          	dis=-1;
          	for(int i=0;i<n;i++){//记录陷阱位置
         		scanf("%d %d\n",&l,&r);
                  	way[i][0]=l;
                  	way[i][1]=r;
                  	if(dis<r-l)//记录最大步长
                          	dis=r-l;
                }          	
          	flag=1;
                for(int i=0;i<n-1;i++){//模拟 
                        if(way[i][0]+dis<way[i][1] || way[i][0]+dis>way[i+1][0]){//跳入陷阱
                                      flag=0;
                                      break;
                        }
                }
          	if(flag==0)
                  	printf("NO\n");
          	else
                  	printf("YES\n");
        }
}

Double click to view unformatted code.


Back to problem 6