标签:mes pat col for clu 初始 out 表示 乙级
1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N=107; 4 int v[N],p[N]; int n; 5 int ans[5]; int cnt; 6 int main () 7 { 8 cin>>n; 9 for (int i=1;i<=n;i++) { 10 cin>>v[i]; 11 p[i]=1; 12 } 13 // p[i]=-1 表示第i个人是狼人 14 for (int i=1;i<n;i++) 15 for (int j=i+1;j<=n;j++) { 16 p[i]=-1; p[j]=-1; 17 for (int k=1;k<=n;k++) 18 if (p[abs(v[k])]*v[k]<0) { // p[abs(v[k])]*v[k]<0 表示第k个人说谎 19 ans[++cnt]=k; 20 if (cnt>3) 21 break; 22 } 23 if (cnt==2&&p[ans[1]]+p[ans[2]]==0) { // 两个说谎的人只有一个是狼人 24 cout<<i<<" "<<j<<endl; 25 return 0; 26 } 27 p[i]=1; p[j]=1; cnt=0; // 不要忘记初始化 28 } 29 cout<<"No Solution"<<endl; 30 return 0; 31 }
标签:mes pat col for clu 初始 out 表示 乙级
原文地址:https://www.cnblogs.com/xidian-mao/p/10351746.html