#947. freopen大赏

freopen大赏

题目描述

今年的编程比赛已经结束,共有 nn 位选手参与,一共有 kk 道题。众所周知,在比赛上每道题都需要写两行对应freopen语句,但每年总有同学写错freopen语句的格式,于是你决定进行一次freopen迷惑语句大赏。

每位选手都会对每道题目书写两行freopen语句,也就是说每位选手总共要写 2k2kfreopen语句。假设某道题的标题是title,那么这道题的freopen语句格式应该与以下两行完全一致(包括语句顺序):

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

(对于其他题目来说,正确的格式仅仅需要把上面语句中的title替换成对应的标题即可。)

  • 如果某位同学把全部题目的freopen语句全部写对,我们将其称为“细心选手”。

  • 但有些同学总是忘记取消注释。这类同学的freopen语句会同时具有以下两个特征:

    ①以 //freopen( 开头;

    ②以 ); 结尾。

    如果某位同学写出了至少一条这样的语句,我们就把这类同学称为“注释仙人”。

  • 还有一类同学,完全忘记了freopen的格式,一通乱写,过与不过全靠天意。我们规定:如果一位同学既不是“细心选手”,也不是“注释仙人”,那么我们将其称为“天命人”。

你需要判断每位参赛者是什么类型的选手。

输入格式

第一行:两个正整数 n,kn,k,分别表示参赛选手数和题目数,以空格分隔。

接下来 kk 行:每行包含一个仅由小写字母构成的字符串,依次表示每道题目的标题。

接下来共有 nn 组输入,表示每位参赛者的所有freopen语句,其中对于每一组输入,包含 2k+12k+1行,其中第一行为一个回车符,用以分隔输入数据,后续 2k2k 行分别为该选手每道题的freopen语句。

输出格式

输出 nn 行,每行包含一个字符串,分别表示每位参赛者是什么类型的选手。

如果是细心选手,请输出perfect guy

如果是注释仙人,请输出god of commentary

如果是天命人,请输出the destined one

样例输入

4 3
aaaa
bbb
cccccc

freopen("aaaa.in","r",stdin);
freopen("aaaa.out","w",stdout);
freopen("bbb.in","r",stdin);
freopen("bbb.out","w",stdout);
freopen("cccccc.in","r",stdin);
freopen("cccccc.out","w",stdout);

freopen("aaaa.in","r",stdin);
freopen("aaaa.out","w",stdout);
//freopen("bbb.in","r",stdin);
freopen("bbb.out","w",stdout);
freopen("cccccc.in","r",stdin);
//I_will_AK

freopen("aaaa.in","r",stdin);
freopen("aaaa.out","w",stdout)
freopen("bbb.in","r",stdin);
freopen("bbb.out","w",stdout);
freopen("cccccc.out","w",stdout);
freopen("cccccc.in","r",stdin);

样例输出

perfect guy
god of commentary
the destined one

【样例解释】

第一位选手所有的freopen语句都很正常,所以是细心选手。

第二位选手把第二道题的标准输入语句注释掉了,所以是注释仙人。注意:虽然这名选手还出现了乱写的代码,但根据“天命人”的规则,只有当一位选手不是细心选手也不是注释仙人时,才能认定是天命人。因此其类型仍然为“注释仙人”。

第三位选手的第三道题目中,标准输入和标准输出写反了,满足天命人的规则,因此属于天命人。

数据规模与约束

  • 对于 30%30\% 的数据,k=1k=1

  • 对于另外 30%30\% 的数据,保证不会出现注释仙人;

  • 对于 100%100\% 的数据:

    1n1001\le n\le 1001k101\le k \le 10

    每道题的标题长度在 11 ~ 1010 之间;

    选手输入的每一行freopen语句的长度在 11100100 之间;

    所有题目的标题和选手输入的所有语句均不包含空白字符。

提示

在输出双引号"时,需要添加转义符\。即:\"表示一个双引号字符。