View Code of Problem 6

#include<stdio.h>
int main()
{
	int i,j,k,n,t;
	scanf("%d",&t);
	for(i=0;i<t;i++)
	{
		scanf("%d",&n);
		int max=0,flag=1;
		int a[n][2];
		for(j=0;j<n;j++)
		{
			scanf("%d%d",&a[j][0],&a[j][1]);     
			if((a[j][1]-a[j][0])>max)                 //选出最长的陷阱长度为步长,保证跳过每个陷阱 
				max=a[j][1]-a[j][0];
		}
		for(k=0;k<n-1;k++)                           
		{
			if((a[k][0])+max>a[k+1][0])             //判断是否落入下一个陷阱或跳过多少陷阱
				flag=0;
		}
		if(flag==1)
		printf("YES\n");
		else
		printf("NO\n");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 6