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+1][0]-a[k][0])<max)             //弹珠每次必须跳过一个陷阱(不能多也不能少),步长小于最大陷阱长度,说明可能会掉入陷阱 
				flag=0;
		}
		if(flag==1)
		printf("YES\n");
		else
		printf("NO\n");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 6