1080.c

来自「平时acm训练时ac的源代码」· C语言 代码 · 共 49 行

C
49
字号
#include <stdio.h>

int a[100][100],cl[100],n,i,c,j;

void ppp(int k)
{
	int r;
	for(r=1;r<=n;r++)
	{
		if(a[r][k]==1)
		{
			if(cl[k]==cl[r])
			{
				printf("-1");
				return;
			}
		}
		if(cl[r]!=0) continue;
		if(cl[k]==1) cl[r]=2;
		else cl[r]=1;
		ppp(r);
	}
}

void main()
{
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			a[i][j]=0;
	for(i=1;i<=n;i++)
		cl[i]=0;
	for(i=1;i<=n;i++)
	{
		while(1)
		{
			scanf("%d",&c);
			if(c==0) break;
			a[i][c]=1;
			a[c][i]=1;
		}
	}
	cl[1]=1;
	ppp(1);
	for(i=1;i<=n;i++)
		printf("%d",cl[i]-1);
	getch();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?