思路:
- 首先我们定义(2)个字符串,分别存放 TEAM 1 与 TEAM 2 的出招顺序。接着再定义(2)个变量,存放 TEAM 1 与 TEAM 2 的分数。
string s1;
string s2;
cin>>s1>>s2;//输入s1和s2
int score1=0,score2=0;
- 定义一个字符串长度变量
len
,因为s1
与s2
的长度必定相等,所以长度既可以是s1
的长度也可以是s2
的长度。
int len=s1.size();
- 开始循环,定义(2)个变量,判断它们出招的类别,再进行判断。
int a1,a2;//1是剪刀,2是石头,3是布
if(s1[i]=='8' && s1[i+1]=='<')a1=1;
if(s1[i]=='(' && s1[i+1]==')')a1=2;
if(s1[i]=='[' && s1[i+1]==']')a1=3;
if(s2[i]=='8' && s2[i+1]=='<')a2=1;
if(s2[i]=='(' && s2[i+1]==')')a2=2;
if(s2[i]=='[' && s2[i+1]==']')a2=3;
- 进行比较,统计分数:平局各不加分,否则胜者加(1)分。
if(a1==1)
{
if(a2==2)score2++;
if(a2==3)score1++;
}
if(a1==2)
{
if(a2==1)score1++;
if(a2==3)score2++;
}
if(a1==3)
{
if(a2==1)score2++;
if(a2==2)score1++;
}
- 判断谁的分数高,进行输出即可。
if(score2==score1)cout<<"TIE";
if(score1>score2)cout<<"TEAM 1 WINS";
if(score2>score1)cout<<"TEAM 2 WINS";
代码实现:
#include <bits/stdc++.h>
using namespace std;
string s1;
string s2;
int main()
{
cin>>s1>>s2;
int score1=0,score2=0;
int len=s1.size();
for(int i=0;i<len;i+=2)
{
int a1,a2;//1是剪刀,2是石头,3是布
if(s1[i]=='8' && s1[i+1]=='<')a1=1;
if(s1[i]=='(' && s1[i+1]==')')a1=2;
if(s1[i]=='[' && s1[i+1]==']')a1=3;
if(s2[i]=='8' && s2[i+1]=='<')a2=1;
if(s2[i]=='(' && s2[i+1]==')')a2=2;
if(s2[i]=='[' && s2[i+1]==']')a2=3;
if(a1==1)
{
if(a2==2)score2++;
if(a2==3)score1++;
}
if(a1==2)
{
if(a2==1)score1++;
if(a2==3)score2++;
}
if(a1==3)
{
if(a2==1)score2++;
if(a2==2)score1++;
}
}
if(score2==score1)cout<<"TIE";
if(score1>score2)cout<<"TEAM 1 WINS";
if(score2>score1)cout<<"TEAM 2 WINS";
return 0;
}