1089 狼人杀-简单版 (20分)
1089 狼人杀-简单版 (20分)
以下文字摘自《灵机一动·好玩的数学》:“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说:“3 号是好人”,3 号玩家说:“4 号是狼人”,4 号玩家说:“5 号是好人”,5 号玩家说:“4 号是好人”。已知这 5 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有狼人撒谎但并不是所有狼人都在撒谎。扮演狼人角色的是哪两号玩家?
本题是这个问题的升级版:已知 N 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有狼人撒谎但并不是所有狼人都在撒谎。要求你找出扮演狼人角色的是哪几号玩家?
输入格式:
输入在第一行中给出一个正整数 N(5≤N≤100)。随后 N 行,第 i 行给出第 i 号玩家说的话(1≤i≤N),即一个玩家编号,用正号表示好人,负号表示狼人。
输出格式:
如果有解,在一行中按递增顺序输出 2 个狼人的编号,其间以空格分隔,行首尾不得有多余空格。如果解不唯一,则输出最小序列解 —— 即对于两个序列 A=a[1],...,a[M] 和 B=b[1],...,b[M],若存在 0≤k<M 使得 a[i]=b[i] (i≤k),且 a[k+1]<b[k+1],则称序列 A 小于序列 B。若无解则输出 No Solution
。
输入样例 1:
5
-2
+3
-4
+5
+4
输出样例 1:
1 4
输入样例 2:
6
+6
+3
+1
-5
-2
+4
输出样例 2(解不唯一):
1 5
输入样例 3:
5
-2
-3
-4
-5
-1
输出样例 3:
No Solution
/*
根据题目描述,有两个狼人,两个人说谎,有狼人说谎但不是所有狼人都说谎,
表示:有一个好人说谎,一个狼人说谎。
那么可以依次假设两个人是狼人,其他人是好人,
所说和假设不同则判断该人说谎
判断假设所得结果是否满足已知条件
*/
#include<stdio.h>
#include<string.h>
#include<math.h>
int main() {
// freopen("input.txt","r",stdin);int i,n,j,k;scanf("%d",&n);int v[105];//某个人说的话 for(i = 1; i <= n; i++){scanf("%d",&v[i]);}for(i = 1; i <= n; i++){for(j = i + 1; j <= n; j++){int lie[105], a[105];for(k = 0; k < 105; k++){a[k] = 1;//假设所有人都是好人 }a[i] = a[j] = -1;//假设两个人是狼人 int index = 0;for(k = 1; k <= n; k++){if(v[k] * a[abs(v[k])] < 0){//如果k说某个人是坏人,但该人是好人,那么k说谎,// 如果k说某个人是好人,但该人是坏人,那么k说谎lie[index++] = k;}}//有两个人说谎,一个是好人一个是坏人 if(index == 2 && a[lie[0]] + a[lie[1]] == 0){printf("%d %d\n",i,j);return 0;}}}printf("No Solution");return 0;
}
1089 狼人杀-简单版 (20分)相关推荐
- 1089 狼人杀-简单版 (20 分)
1089 狼人杀-简单版 (20 分) 以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩 ...
- 1089 狼人杀-简单版 (20 分)-文字详解版
1089 狼人杀-简单版 (20 分) 题目 以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 ...
- 【简便解法】1089 狼人杀-简单版 (20分)_25行代码AC
立志用最少的代码做最高效的表达 PAT乙级最优题解-->传送门 以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人 ...
- 1089 狼人杀-简单版 (20分)
以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家说:"2 号是狼人" ...
- 【PAT乙级】1089 狼人杀-简单版 (20 分)
题目地址 #include<cstdio> #include<iostream> #include<vector> using namespace std; int ...
- PTA 狼人杀-简单版 (20分)
"人其实就这一辈子,我想要的生活不是安逸的,虽然很累,但我想要辉煌的人生,所以也一直在为此努力.不松懈.我所理解的辉煌人生,不是挣了多少钱.做了多伟大的事,而是将人生过得有意义,不碌碌无为. ...
- PAT (Basic Level) 1089 狼人杀-简单版(20)
以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家说:"2 号是狼人" ...
- C++学习之路 | PTA乙级—— 1089 狼人杀-简单版(精简)
1089 狼人杀-简单版 (20 分)以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家 ...
- 狼人杀c语言代码,1089 狼人杀-简单版——C/C++实现
题目 1089 狼人杀-简单版 (20 point(s)) 以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀&quo ...
最新文章
- 华为认证物联网开发利器:小熊派IoT开发板
- 【零基础】了解一下前端HTML与CSS
- [bzoj1305][CQOI2009]dance跳舞
- PyTorch 1.0 中文文档:torch.Storage
- commit git 删除文件夹_从Git提交中删除文件
- grub4dos初级教程-入门篇(Z)
- 数学模型——人口增长模型(基于python)
- hiveserver2启动后beeline无法连接:root is not allowed to impersonate hah
- MySQL之Explain
- java多线程及创建线程
- iOS 苹果官方Demo合集
- pgsql数据替换替换换行符
- 01-oracle账号的注册
- 关于基于kangle和EP面板使用CDN
- jQuery Mobile使用中遇到的坑!填坑很难,但很有成就感。。
- VR消防灭火模拟训练系统
- 多图!2020年互联网大厂中秋礼盒PK!阿里走情怀,腾讯更复古,最走心的是......
- 复旦大学2018--2019学年第二学期高等代数II期末考试情况分析
- Oracle 数据库安装规范--database所在路径和归档目录所在路径必须分开
- 【UE4源代码观察】学习队列模板TQueue
热门文章
- 卷积及理解图像卷积操作的意义
- 月薪10W和月薪1W的人,真实收入差距是100倍 :普通人做到这3点,就能破局
- 鸿蒙(HarmonyOS)环境下,如何优雅地进行Http访问
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
- 了解数据中心温度指南
- 计算机二进制八进制等怎么表示,八进制用什么字母表示(进制转换计算器)
- 企业邮箱网易163购买注意事项
- checkbox,radio,selected相关操作
- #yyds干货盘点#HC-05与HC-06蓝牙模块对比
- 关于IDEA启动Spring Boot项目出现Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext 	at j