比赛场次 312
比赛名称 16暑期热身练习
比赛状态 已结束比赛成绩
开始时间 2016-07-01 09:50:00
结束时间 2016-07-01 11:30:00
开放分组 全部用户
注释介绍
题目名称 逻辑岛
输入输出 logicisland.in/out
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试点数 15 简单对比
用户 结果 时间 内存 得分
GravatarLGLJ WAWAWWWAAWWWWWW 0.038 s 0.27 MiB 26
Gravatar胡嘉兴 AWAWWWWWWAWWWWW 0.002 s 0.29 MiB 20
Gravatarkxxy WAWAWWWWAWWWWWW 0.004 s 0.31 MiB 20
GravatarW C 0.000 s 0.00 MiB 0
GravatarMealy C 0.000 s 0.00 MiB 0

逻辑岛

★★★★   输入文件:logicisland.in   输出文件:logicisland.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


逻辑岛上有三种居民:神、魔鬼和人,神总是说真话,魔鬼总是撒谎,而人则是白天说真话,晚上撒谎。每一个居民都能认出其它居民的身份。

一个社会学家要去逻辑岛上考察,由于他无法根据居民的长相来确定其身份,他需要你为他提供一个通信分析仪通过居民们的谈话来推理出一些事实。其中他最感兴趣的事实是现在是白天还是夜晚,以及说话的居民的身份。


【输入格式】


输入文件第一行为一个整数n,表示谈话中语句的个数。

接下来有n行,每行为某个居民所说的一个语句,每个语句行的第一个符号为讲话者的姓名,姓名均为单个的大写字母A,B,C,D,E,姓名之后有一个冒号“:”和一个空格,语句接下来的格式如下:

I am [not] ( divine | human | evil | lying ).

X is [not] ( divine | human | evil | lying ).

It is ( day | night ).

方括号[]表示其中的单词也许会出现,也许不会出现,圆括号()表示其中由|隔开的单词只会出现一种。X为A,B,C,D,E中的一个,任一语句行都不会出现两个连续的空格,谈话中包含的语句最多不超过50个。


【输出格式】


如果依照规则这组谈话是不可能发生的,则输出“This is impossible.”(不包括双引号,以下同);

如果无法推理出所需要的事实,输出“No facts are deducible.”;

此外则要求输出所有能够推理出的事实,输出格式如下:

X is ( divine | human | evil ).

It is ( day | night ).

X由一个大写字母即讲话者的姓名代替,居民的身份信息必须首先输出(按姓名的字母顺序),接下来输出白天或夜晚的信息(如果无法推理出来是白天还是晚上则不需输出)。


【样例输入】

输入样例1:
1
A: I am evil.

输入样例2:
3
A: B is human.
B: A is evil.
A: B is evil.

【样例输出】

输出样例1:
A is human.
It is night.

输出样例2:
A is evil.
B is divine.

【提示】

在此键入。

【来源】

在此键入。