4 solutions
-
4
#include<bits/stdc++.h> using namespace std; int n; string a,b; int turn(string x){ switch(x.size()){ case 4:return 1;//石头 case 8:return 2;//剪刀 case 5:return 3;//布 } } int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>a>>b; int x=turn(a); int y=turn(b); switch(x-y){ case 0:cout<<"Tie"<<endl;break; case -1: case 2:cout<<"Player1"<<endl;break; case -2: case 1:cout<<"Player2"<<endl;break; } } return 0; }
提供一种转换的思路 代码稍长但是不枯燥
-
2
明明15行就能搞定
#include<bits/stdc++.h> using namespace std; int main(){ int n;cin>>n; for(int i=0;i<n;i++){ string a,b; cin>>a>>b; if(a[0]==b[0])cout<<"Tie\n"; else if(a[0]==83&&b[0]==80)cout<<"Player1\n"; else if(a[0]==80&&b[0]==83)cout<<"Player2\n"; else if(a[0]<b[0])cout<<"Player1\n"; else cout<<"Player2\n"; } return 0; }
-
0
#include<iomanip> #include<string> using namespace std; int main(){ string a,b; int n; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b; if(a==b)cout<<"Tie"<<endl; else{ if(a=="Rock"){ if(b=="Scissors")cout<<"Player1"<<endl; else cout<<"Player2"<<endl; }if(a=="Paper"){ if(b=="Rock")cout<<"Player1"<<endl; else cout<<"Player2"<<endl; }if(a=="Scissors"){ if(b=="Paper")cout<<"Player1"<<endl; else cout<<"Player2"<<endl; } } } }
-
0
`
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; for(int i=0; i<n; i++) { string a,b; cin>>a>>b;//读入两个字符串 if(a[0]==b[0])cout<<"Tie\n";//首位相同,平局 else if(a[0]=='R') { if(b[0]=='P')cout<<"Player2\n"; else cout<<"Player1\n"; } else if(a[0]=='P') { if(b[0]=='S')cout<<"Player2\n"; else cout<<"Player1\n"; } else if(a[0]=='S') { if(b[0]=='R')cout<<"Player2\n"; else cout<<"Player1\n"; }//以上是逐个判断,按照 Player1 的情况分类讨论 //因为讨论过平局了,可以只分两种情况考虑 //记得使用 else-if } return 0; }
- 1
Information
- ID
- 618
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 4
- Tags
- # Submissions
- 38
- Accepted
- 19
- Uploaded By