View Code of Problem 6

#include<stdio.h>
int jump(int dis,int trap1[],int num,int trap2[])
{
	int i,j;
	i=dis;
	for(j=1;j<num-1;++j)
	{
		i=i+dis;
		if(i<trap2[j]||i>trap1[j+1])
			return 0;
	}
	i=i+dis;
	if(i<trap2[j])
		return 0;
	else
	return 1;
	
}
int main()
{
	int q[100],h[100],shi,mo,l,i,num,j=0;
	scanf("%d",&num);
	while(j<num)
	{
	scanf("%d",&l);
	for(i=0;i<l;++i)
	{
		scanf("%d %d",&q[i],&h[i]);
	}
	shi=h[0];
	while(shi<=q[1])
	{
		
		if(jump(shi,q,l,h)==1)
		{
			printf("YES\n");
			break;
		}
		else
			shi++;
	}
	if(shi>q[1])
		printf("NO\n");
	++j;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 6