题目名称 3107. 狼人杀
输入输出 langren.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 2
题目来源 Gravatar斯内普和骑士 于2019-04-11加入
开放分组 全部用户
提交状态
分类标签
字符串
分享题解
通过:0, 提交:1, 通过率:0%
Gravatar斯内普和骑士 0 0.000 s 0.00 MiB C++
关于 狼人杀 的近10条评论(全部评论)
RUA
Gravatar斯内普和骑士
2019-07-08 15:10 1楼

3107. 狼人杀

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

【题目描述】

有n个玩家在玩狼人杀。其中有m个狼人,并且每局都会有1个预言家,但是第一天其他身份是不可能跳的

由于你是一个老玩家,你一定会料到自己第一天就被刀死了,所以需要在警长阶段判断下列的发言中(有划水的)是否有聊爆(发言时候暴露身份)的狼人

可以给你一个这么的信息:你在本局中狼人只说假话,但是平民为了保全自己,只会说真话。场中会有一个悍跳狼(对跳预言家的狼)和一个预言家,而且你一下子判断出来这两个人是该身份。所以跟对了预言家之后,你只需要通过盘逻辑,来看看是否能不能找到所有的狼人

【输入格式】

第一行输入整数n,m,表示有n个玩家,有m个狼人

第二行输入整数R,S,表示序号R是预言家,序号S是狼人

接下来有n行,分别是每一号的表水(极其简陋,详情看样例),如果划水(不发言),会显示RUA

【输出格式】

m个整数,表示狼人的号码,从小到大排列,当有狼人无法判断时候,输出error

【样例输入1】

6 2

1 2

4 is not wolf

3 is wolf

I am not wolf

5 is wolf

I am not wolf

RUA

【样例输出1】

2 5

【样例输入2】

6 2

1 2

2 is wolf

6 is wolf

4 is wolf

I am not wolf

I am not wolf

I am not wolf

【样例输出2】

2 error

【数据规模】

满足【6<=n<=8】时候,【m=2】

满足【9<=n<=10】时候,【m=3】

满足【11<=n<=12】时候,【m=4】

对于所有数据,满足6<=n<=12

注意

1、预言家和悍跳狼人只会指认

2、这道题变简单的一个关键是如果预言家验到一个平民之后,这个平民可以当做预言家使用(相信我,在真实狼人杀可千万不要这么做)