4 solutions

  • 4
    @ 2024-1-22 11:41:56
    #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
      @ 2023-12-23 18:55:38

      明明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
        @ 2023-10-8 21:24:56
        #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
          @ 2023-9-29 12:06:31

          `

          #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