1 条题解
-
0
题解
一些人围成一圈,输入他们此时的手势(石头、剪刀、布),每次选择一个人A,那个人与他逆时针B比较手势,输得淘汰,若一样,B淘汰,每次A的选择是随机的,问最后能够赢的人的个数。
可以看成是,若只有一种手势,则都可以赢,若有两种手势,则克其的能赢,若有三种手势,则都可以赢。
代码:
#include<cstdio> #include<iostream> #include<cstring> #include<cmath> #include<algorithm> using namespace std ; int main(){ int n ; int a, b, c ; char ch ; while( cin >> n ){ a = b = c = 0 ; for( int i = 0; i < n; i++ ){ cin >> ch ; if( ch == 'C' ) a++ ; else if( ch == 'S' ) b++ ; else c++ ; } if( a != 0 && b != 0 && c != 0 ) cout << n << endl ; else{ if( (a == 0 && b == 0 && c != 0) || (a == 0 && c == 0 && b != 0) || (b == 0 && c == 0 && a != 0 )) cout << n << endl ; else{ if( a == 0 ) cout << b << endl ; else if( b == 0 ){ cout << c << endl ; } else cout << a << endl ; } } } return 0 ; }
- 1
信息
- ID
- 1233
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者