题解
【入门】石头剪刀布?
4 条题解
-
0
#include<bits/stdc++.h>//#403】石头剪刀布? /* 思路:将所有小a赢的情况都列举出来并计数,再把小b赢的情况都列举出来并计数 最后根据他们的胜场数决定谁是最后的赢家(需要注意平局的情况) 问题1、小a赢的情况有哪些? 答:a == 1 && b == 2、a == 2 && b == 3、a == 3 && b == 1 问题2、小b赢的情况有哪些?需要像小a一样都列举出来吗? 答:不用都列举出来,因为除了以上这些情况,剩余的只要a != b都算小b赢的 */ using namespace std; int main(){ //基本输入要很熟练 int n, a, b, ca = 0, cb = 0; cin >> n; while (n--) {//进行了n场猜拳游戏 cin >> a >> b; //列举小a赢的情况 if ((a == 1 && b == 2) || (a == 2 && b == 3) || (a == 3 && b == 1)) ca++; else if (a != b) //剩余的情况下,a!=b就表示不是平局,小b赢 cb++; } //下面根据ca和cb记录的值来判断谁赢了,输出对应的字符串 if (ca > cb) cout << "a win";//小a赢得多 else if (ca < cb) cout << "b win";//小b赢得多 else cout << "tie";//平局 return 0; } -
0
#include<bits/stdc++.h> using namespace std; int main(){ int n,x,y,s=0,c=0; cin>>n; for(int i=0;i<n;i++){//n个回合 cin>>x>>y; //小a赢的情况 if((x==1&&y==2)||(x==2&&y==3)||(x==3&&y==1)){ s++; } else if(x!=y){//不是平局,剩下小b赢的数量 c++; } } if(s>c){//小a赢的多 cout<<"a win"; } else if(s<c){//小b赢的多 cout<<"b win"; } else{//一样多 cout<<"tie"; } return 0; } -
0
#include<bits/stdc++.h> using namespace std; int main(){ int n,x,y,s=0,c=0; cin>>n; for(int i=0;i<n;i++){//n个回合 cin>>x>>y; //小a赢的情况 if((x==1&&y==2)||(x==2&&y==3)||(x==3&&y==1)){ s++; } else if(x!=y){//不是票据,剩下小b赢的数量 c++; } } if(s>c){//小a赢的多 cout<<"a win"; } else if(s<c){//小b赢的多 cout<<"b win"; } else{//一样多 cout<<"tie"; } return 0; }
- 1