记录编号 36521 评测结果 AAAAAAAAAA
题目名称 线段 最终得分 100
用户昵称 Gravatarkaaala 是否通过 通过
代码语言 C++ 运行时间 0.048 s
提交时间 2012-03-14 14:56:29 内存使用 0.63 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>

using namespace std;

int T,N,M,Map[310][310];

int main()
{
	freopen("line.in","r",stdin);
	freopen("line.out","w",stdout);
	scanf("%d",&T);
	for(int i=1;i<=T;i++)
	{
		scanf("%d%d",&N,&M);
		for(int j=1;j<=N;j++)
			for(int k=1;k<=N;k++)
				Map[j][k]=2;
		for(int j=1;j<=M;j++)
		{
			int a,b,c;
			scanf("%d%d%d",&a,&b,&c);
			Map[a][b]=Map[b][a]=c;
		}
		bool flag=false;
		for(int j=1;j<=N;j++)
		{
			for(int k=1;k<=N;k++)
			{
				for(int l=1;l<=N;l++)
					if(Map[k][l]==2)
					{
						if(Map[k][j]!=2&&Map[j][l]!=2)
							Map[k][l]=Map[k][j] xor Map[j][l];
					}
					else if(Map[k][j]!=2&&Map[j][l]!=2&&Map[k][l]!=Map[k][j] xor Map[j][l])
					{
						flag=true;
						break;
					}
				if(flag)
					break;
			}
			if(flag)
				break;
		}
		if(flag)
			printf("No Answer\n");
		else
			printf("%d\n",Map[1][N]);
	}
	return 0;
}