#P8964. 梦幻 | Reopening of Dream

    ID: 8134 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>模拟字符串洛谷原创O2优化洛谷月赛

梦幻 | Reopening of Dream

Description

PION2202 的选手代码公布了。作为一个连续编写了十年迷惑行为大赏的人,你当然是要抢先把代码中的各种事迹发出来啦。

首先关注的肯定是大家的文件输入输出有没写对。你已经让小 E 把每道题的题目名称和每位选手的 freopen 语句整理出来了。

PION2202 一共有 mm 道题,有 nn 位选手参与。你决定把选手分成三类:

  1. 普通人:最正常不过的 freopen 语句;
  2. 见祖宗人:被注释的 freopen 语句;
  3. 乐子人:其他形式的 freopen 语句。

形式化地,普通人的所有题目的 freopen 语句都应该恰好是

freopen("<title>.in","r",stdin);
freopen("<title>.out","w",stdout);

其中的 <title> 应替换成对应的题目名称。

见祖宗人的 freopen 语句中存在至少一道题的至少一行语句以 //freopen( 开头,以 ); 结尾。

如果一位选手的 freopen 语句不满足上面两种情况,则称这位选手为乐子人。

你需要判断每位选手是普通人,见祖宗人还是乐子人。

Input Format

第一行一个正整数 TT,表示子任务编号。

第二行两个正整数 n,mn,m,分别表示选手数和题目数。

接下来 mm 行,每行包含一个仅由小写字母构成的字符串,其中第 ii 行表示第 ii 道题目的题目名称。保证题目名称的长度在 111010 之间。

接下来 n×(2m+1)n\times(2m+1) 行,在每 2m+12m+1 行中,第一行为空行,后 2m2m 行表示一位选手的所有题目的 freopen 语句,按照题目顺序给出。前两行为第一题的 freopen 语句,依次类推,最后两行为最后一题的 freopen 语句。

保证所有的 freopen 语句的每个字符的 ASCII 码均在 3333126126 之间,即不含空格等不可见字符。

保证每一行 freopen 语句的长度在 11100100 之间。

Output Format

输出 nn 行,其中第 ii 行表示第 ii 位选手的分类。

如果是普通人,就要祝他 RP++,所以就输出一行 PION2202 RP++.

如果是见祖宗人,那就只好输出一行 Wrong file operation takes you to your ancestors along with your 3 years' efforts on OI.

如果是乐子人,就祝他在玩得开心的同时注意不要弄错了,于是输出一行 Good luck and have fun.

3
4 4
tnalp
woem
kcarrab
hctam

freopen("tnalp.in","r",stdin);
freopen("tnalp.out","w",stdout);
freopen("woem.in","r",stdin);
freopen("woem.out","w",stdout);
freopen("kcarrab.in","r",stdin);
freopen("kcarrab.out","w",stdout);
freopen("hctam.in","r",stdin);
freopen("hctam.out","w",stdout);

freopen("tnalp.in","r",stdin);
freopen("tnalp.out","w",stdout);
//freopen("woem.in","r",stdin);
freopen("woem.out","w",stdout);
freopen("kcarrab.in","r",stdin);
//I_AK_IOI!!!
freopen("hctam.in","r",stdin);
freopen("hctam.out","w",stdout);

freopen("tnalp.in","r",stdin);
freopen("tnalp.out","w",stdout)
freopen("owem.in","r",stdin);
freopen("woem.out","w",stdout);
freopen("kcarrab.in","r",stdout);
freopen("kcarrab.out","w",stdin);
freopen("hctam.out","w",stdout);
freopen("hctam.in","r",stdin);

freopen("tnalp.in","r",stdin);//I_LOVE_CCF
freopen("tnalp.out","w",stdout);
freopen("woem.in","r",stdin);//I_HATE_THIS
freopen("woem.out","w",stdout);
freopen("kcarrab.in"/*I_FORGET_HOW_TO_FIND_BRIDGES!!!!!!*/,"r",stdin);
freopen("kcarrab.out","w",stdout);
freopen("hctam.in","r",stdin);//I_CAN_GET_ONLY_8PTSqwq
freopen("hctam.out","w",stdout);

PION2202 RP++.
Wrong file operation takes you to your ancestors along with your 3 years' efforts on OI.
Good luck and have fun.
Good luck and have fun.

Hint

【样例解释】

第一位选手所有的 freopen 语句都很正常,所以是普通人。

第二位选手注释了题目 woem 的输入文件语句,所以是见祖宗人。虽然该选手在题目 kcarrab 中有乐子行为但由于已经满足了见祖宗人的条件,所以该选手被分类为见祖宗人。

第三位选手四道题的 freopen 语句都不是正常的。tnalp 的输出文件语句少了分号;woem 被打成了 owem;打反了 kcarrab 一题中的 stdinstdout;交换了 hctam 的两个语句的顺序。在本题中算作乐子人。

第四位选手的 freopen 语句虽然能够正常工作,但是因为与正常的 freopen 语句不同而在本题中被算作乐子人。


【数据范围】

本题采用捆绑测试。

子任务 1(30 分):T=1T = 1m=1m = 1 且题目名称为 yxalag。但是,如果你输出 No, general! 是不能得到分数的。
子任务 2(30 分):T=2T = 2。保证没有见祖宗人。
子任务 3(40 分):T=3T = 3。无特殊性质。

对于 100%100\% 的数据:

  • 保证 1T31\le T \le 3
  • 保证 1n10001\le n\le 1000
  • 保证 1m41\le m \le 4
  • 保证题目名称的长度在 111010 之间。
  • 保证每一行 freopen 语句的长度在 11100100 之间。