比赛场次 | 70 |
---|---|
比赛名称 | 10.10.18noip模拟 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2010-10-18 18:59:59 |
结束时间 | 2010-10-18 22:01:01 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | 罪犯问题D |
---|---|
输入输出 | criminald.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
ZhouZn1 | EWEEEEEEEE | 0.000 s | 0.00 MiB | 0 |
Achilles | EEEEEEEEEE | 0.000 s | 0.00 MiB | 0 |
Citron酱 | MMMMMMMMMM | 0.000 s | 0.00 MiB | 0 |
maxiem | WWWTTTTTTT | 0.000 s | 0.00 MiB | 0 |
王者自由 | WWWEEEEEEE | 0.000 s | 0.00 MiB | 0 |
kaaala | TTTTTTTTTT | 0.000 s | 0.00 MiB | 0 |
gragon | WWWWWWWWWW | 0.000 s | 0.00 MiB | 0 |
1102 | WWWWWWWWWW | 0.000 s | 0.00 MiB | 0 |
苏轼 | TTTTTTTTTT | 0.000 s | 0.00 MiB | 0 |
有N个嫌犯,镇长在审问他们,审问过程中不知道哪个人会突然说出来句话,说的话形式有两种,“***是罪犯”,“***不是罪犯”。已知罪犯说的都是假话,不是罪犯的说的都是真话(每人说的话均不指自己)。且因为见过M个人的通缉令,镇长可是确定这M个人是罪犯。通过这些情况可推断出别人是不是罪犯。现在镇长会在审问过程中随时询问作为副手的你,“***是不是罪犯?”,请你设计程序回答“Yes”,“No”或者“Unknown”。
【输入格式】
第一行,两个整数N,M,含义如题目描述所示。
第二行,M个整数,第i个整数Ti表示编号Ti的嫌犯确定是罪犯。
接下来每行开头有一个大写字母:
若为“S”,表示某嫌犯说话了,接下来有两个整数A,B,若B大于零,表示编号A的嫌犯说“B号是罪犯”;若B小于零,表示编号为A的嫌犯说“-B号不是罪犯”。
若为“A”,表示镇长询问你了,接下来有一个整数X,表示镇长询问你“X号是不是罪犯?”,是则回答“Yes”,不是则回答“No”,在当前已知情况下无法确定则回答“Unknown”。
若为E,表示审问结束。
【输出格式】
假设询问有K个,则输出有K行,对于每一个询问,回答“Yes”,“No”或者“Unknown”。
【样例输入】
3 1
1
A 3
S 1 3
A 3
S 3 -2
A 2
A 1
E
【样例输出】
Unknown
No
No
Yes
【数据规模】
对于30%的数据,N<=1000,S与A数目和<=10000,S:A约为10:3;
对于100%的数据,N<=50000,1<=M<=N, S与A数目和<=200000,S:A约为1:3;
数据保证嫌犯说的话不存在矛盾.