比赛 20111111 评测结果 AAATTTTTTA
题目名称 传话 最终得分 40
用户昵称 TBK 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-11 11:23:25
显示代码纯文本
#include <iostream>  
#include <fstream>
#include <cstdio>   
#include <cstdlib>   
#include <cmath>   
#include <cstring>   
#include <string>   
#include <algorithm>   
#include <iomanip>   
using namespace std;  
int a[1001],b,c,d,l,m; 
bool bo[1001][1001]={false},boo,bb;
int dfs(int x)
{
	if ((boo!=false)&&(x==d)) 
	{
		bb=true;
		return 0;
	}
	boo=true;
	int y;
	a[x]=1;
	for (y=1;y<=b;y++)
		if ((bo[x][y]==1)&&((a[y]==0)||(y==d))) 
		{
			a[y]=1;
			dfs(y);
			a[y]=0;
		}
	return 0;
}
int main(void)   
{   
	freopen ("messagez.in","r",stdin);
	freopen ("messagez.out","w",stdout);
	cin>>b>>c;
	for (d=0;d<c;d++) 
	{
		cin>>l>>m;
		bo[l][m]=true;
	}
	for (d=1;d<=b;d++)
	{
		boo=false;
		bb=false;
		for (l=0;l<=1000;l++) a[l]=0;
		dfs(d);
		if (bb==true) cout<<"T"<<endl;
			else cout<<"F"<<endl;
	}
  	fclose(stdin);
	fclose(stdout);
	return 0;   
}