View Code of Problem 131

#include<stdio.h>
int c[103][103],sum,a[103],b[103];
int f(int i,int n)
{
	int j;
	for(j=1;j<=n;j++)
	{
		if(c[i][j]==1)
		{
			sum+=1;
			if(sum>=n)
				break;
			if(!f(j,n))
				sum-=1;
		}
	}
	return 0;
}
int main()
{
	int m,n,i,j,d,e;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		sum=0;
		for(i=1;i<=n;i++)
			a[i]=b[i]=0;
		for(i=1;i<=n;i++)
			for(j=1;j<=n;j++)
				c[i][j]=0;
		for(i=1;i<=m;i++)
		{
			scanf("%d%d",&d,&e);
			c[d][e]=1;
		}
		for(i=1;i<=n;i++)
			if(sum<n)
				f(i,n);
			else
				break;
		if(sum<n)
			printf("RIGHT");
		else
			printf("ERROR");
	}
return 0;
}

Double click to view unformatted code.


Back to problem 131