PAT乙级1089-----狼人杀-简单版 (20分)

1089 狼人杀-简单版 (20分)

输入样例 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

思路:
假设两个狼人,然后判断所有人的话,若恰好有一个狼人一个非狼人说谎,则输出

首次通过代码:
 1 #include<stdio.h>
 2 
 3 
 4 int main(){
 5    int sum;
 6    int player[102];
 7    scanf("%d",&sum);
 8    for(int i=1;i<=sum;i++) scanf("%d",&player[i]);
 9    for(int i=1;i<sum;i++)
10      for(int j=i+1;j<=sum;j++){
11          int lieg=0,liew=0;
12          for(int k=1;k<=sum;k++){
13             
14              if(player[k]<0&&-player[k]!=i&&-player[k]!=j){
15                  if(k==i||k==j) liew++;
16                  else lieg++;
17              }
18              else if(player[k]>0&&(player[k]==i||player[k]==j)){
19                  if(k==i||k==j) liew++;
20                  else lieg++;
21              }
22              }
23             if(liew==1&&lieg==1){
24                 printf("%d %d",i,j);
25                 return 0;
26             }
27          }
28      
29      printf("No Solution") ;
30         return 0;
31 }
View Code

参考

FROM:https://www.cnblogs.com/8023spz/p/9617998.html

 

猜你喜欢

转载自www.cnblogs.com/a982961222/p/12381936.html
今日推荐