View Code of Problem 6

#include<stdio.h>
#include<algorithm>
using namespace std;
struct zuobiao
{
	int start;
	int end;
}a[100];
bool cmp(zuobiao a,zuobiao b)
{
	return a.start<b.start;
}
int main()
{
	int T;
	scanf("%d",&T);
	while(T>0)
	{
		int n;
		scanf("%d",&n);
		int i,j;
		int x,y;
		int flag=1;
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&x,&y);
			a[i].start=x>y?y:x;
			a[i].end=x<=y?y:x;
		}
		sort(a,a+n,cmp);
		int dis=a[0].end-a[0].start;
		for(i=0;i<n;i++)
		{
			if(a[i].end-a[i].start!=dis)
			{	flag=0; break; }
		}
		if(flag)
			for(i=0,j=0;j<n;)
			{
				if(a[j++].start>i) 
				{flag=0;break;}
				else if(a[j++].start==i)
					i++;
			}
		if(flag) printf("YES\n");
		else printf("NO\n");
		T--;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 6