【1148】Werewolf - Simple Version (20分)

简介: 【1148】Werewolf - Simple Version (20分)【1148】Werewolf - Simple Version (20分)
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>  
#include<map>
#include<vector>
#include<queue>
#include<cmath>
using namespace std;  
//狼人杀,假设i和j为狼人,  v[k] * a[abs(v[k])] <0即"说谎"
//条件:撒谎数组lie有两人且1狼1人
int main(){   
  int n;
  cin >>n;
  vector<int>v(n+1);
  for(int i=1;i<=n;i++) cin>>v[i];//保存每个人说的话
  for(int i=1;i<=n;i++){
    for(int j=i+1;j<=n;j++){
      vector<int>lie,a(n+1,1);//a都赋值为1
      a[i]=a[j]=-1;//假设i和j两人为狼人
      //a数组表示该人是好人(1)还是狼人(-1)
      for(int k=1;k<=n;k++)
        if(v[k]*a[abs(v[k])] <0) lie.push_back(k);
        //k说的话和真实情况不同,即表示k说谎,将k放入lie数组
      if(lie.size() ==2&&a[lie[0]]+a[lie[1]]==0){
        //说谎人数为2且一人好人一人为狼人即满足条件
        cout<<i<<" "<<j;
        system("pause");
        return 0;
      }
    }
  }
  cout<<"No Solution";
  system("pause");
    return 0;   
}
相关文章
|
3月前
|
Java
JDK version和class file version对应关系
JDK version和class file version对应关系
|
测试技术
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
99 0
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
|
应用服务中间件
Cannot change version of project facet Dynamic Web Module to 3.0
Cannot change version of project facet Dynamic Web Module to 3.0
|
存储
PAT (Advanced Level) Practice 1011 World Cup Betting (20 分)
PAT (Advanced Level) Practice 1011 World Cup Betting (20 分)
77 0
PAT (Basic Level) Practice (中文) 1016 部分A+B (15 分)
PAT (Basic Level) Practice (中文) 1016 部分A+B (15 分)
79 0
PAT (Advanced Level) Practice - 1148 Werewolf - Simple Version(20 分)
PAT (Advanced Level) Practice - 1148 Werewolf - Simple Version(20 分)
114 0
PAT (Advanced Level) Practice - 1055 The World‘s Richest(25 分)
PAT (Advanced Level) Practice - 1055 The World‘s Richest(25 分)
102 0
|
存储
PAT (Advanced Level) Practice - 1126 Eulerian Path(25 分)
PAT (Advanced Level) Practice - 1126 Eulerian Path(25 分)
132 0
PAT (Advanced Level) Practice - 1146 Topological Order(25 分)
PAT (Advanced Level) Practice - 1146 Topological Order(25 分)
82 0
PAT (Advanced Level) Practice - 1016 Phone Bills(25 分)
PAT (Advanced Level) Practice - 1016 Phone Bills(25 分)
106 0