未知的世界

未知的世界

马上订阅 未知的世界 RSS 更新: http://lulalap.com/atom.xml

PAT B1089 狼人杀-简单版(C++)

2018年12月3日 18:34
PAT甲级目录 | PAT乙级目录

题目描述

B1089 狼人杀-简单版

解题思路

暴力破解。

  • 每次假设其中两名玩家为狼人,并按照该假设设置所有人的身份。
  • 然后判断每个人是否说谎,即他声称的玩家身份是否与其当前设定身份一致,如果不一致则说谎。并记录每个说谎的人的编号。
  • 每人的话判断结束,如果只有两人说谎,且他们的身份为一名好人一名狼人,则输出结果并退出循环。否则调整假设继续遍历。
  • 如果遍历结束还没有找到结果,则无解。

易错点

  • 如何判断一个玩家是否说谎
    • 判断一个人是否说谎,即他声称的玩家身份是否与其当前设定身份一致,如果不一致则说谎。因为当前设定身份就是假定的真实情况,不一致说明他讲的与实际不符。

也许陌生的知识点

  • vector<int> id(n + 1, 1);...

剩余内容已隐藏

查看完整文章以阅读更多