比赛 10.10.18noip模拟 评测结果 TTTTTTTTTT
题目名称 罪犯问题D 最终得分 0
用户昵称 kaaala 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2010-10-18 21:04:07
显示代码纯文本
#include<fstream>

using namespace std;

int n,m;
int i,j;
int f1[200001];
char c;
int z,x;
bool f;

int main()
{
	fstream fin("criminald.in");
	ofstream fout("criminald.out");
	fin>>n>>m;
	for(i=1;i<=n;i++)
		f1[i]=1;
	for(i=1;i<=m;i++)
	{
		fin>>z;
		f1[z]=0;
	}
	f=true;
	do 
	{
		fin>>c;
		if(c=='E')
			break;
		if(c=='S')
		{
			fin>>z>>x;
			if(f1[z]==0)
			{
				if(x>0)
					f1[x]=2;
				else
					f1[0-x]=0;
			}
			if(f1[z]==1)
			{
				if(x>0)
					if(f1[x]==0)
					{
						f1[x]=0;
						f1[z]=2;
					}
					else
					if(f1[x]==2)
					{
						f1[x]=2;
						f1[z]=0;
					}
				if(x<0)
					if(f1[0-x]==0)
					{
						f1[0-x]=2;
						f1[z]=0;
					}
					else
					if(f1[0-x]==2)
					{
						f1[0-x]=0;
						f1[z]=2;
					}
						
			}
			if(f1[z]==2)
			{
				if(x>0)
					f1[x]=0;
				else
					f1[0-x]=2;
			}
		}
		if(c=='A')
		{
			fin>>z;
			if(f1[z]==0)
				fout<<"Yes"<<endl;
			else
				if(f1[z]==1)
					fout<<"Unknown"<<endl;
				else
					if(f1[z]==2)
						fout<<"No"<<endl;
		}
	}
	while(f);
	fin.close();
	fout.close();
	return 0;
}