All pastes #41292 Raw Edit

Miscellany

public text v1 · immutable
#41292 ·published 2006-02-12 17:05 UTC
rendered paste body
#include<stdio.h>
#define N 100
int n;
char a[N][N];
char vis[N];
int minmax(int pos, int lev)
{
	int i, fl;
	if(lev%2==0)
	{
		for(i=0;i<n;i++)
		{
			if(a[pos][i]==1 && vis[i]==0)
			{
				vis[i]=1;
				if(minmax(i,lev+1))
				{
					vis[i]=0;
					return 1;
				}
				vis[i]=0;
			}
		}
		return 0;	
	}
	else
	{
		for(i=0;i<n;i++)
		{
			if(a[pos][i]==1 && vis[i]==0)
			{
				vis[i]=1;
				if(!minmax(i,lev+1))
				{
					vis[i]=0;
					return 0;
				}
				vis[i]=0;
			}
		}
		return 1;
	}
}
int main()
{
	long int ntests;
	int i, j, p, fl;
	scanf("%ld",&ntests);
	while(ntests--)
	{
		scanf("%d",&n);
		fl=1;
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				scanf("%d",&p);
				a[i][j]=p;
			}
			vis[i]=0;
		}
		for(i=0;i<n && fl;i++)
		{
			vis[i]=1;
			if(minmax(i,1))
			{
				fl=0;
			}
			vis[i]=0;
		}
		if(fl)
		printf("NO\n");
		else
		printf("YES\n");
	}
	return 0;
}