【每日例题】蓝桥杯 c++ 被替换的身份证
被替换的身份证
题目
思路分析
斗地主简化版?!废话少说,四种情况
- ShallowDream一开始出对子或者王炸,ShallowDream胜
- ShallowDream一开始出单,Joker出王炸,Joker胜
- ShallowDream一开始出单,Joker手中最大的牌比ShallowDream手中的牌都大,Joker胜
- ShallowDream一开始出单,Joker手中最大的牌小于ShallowDream的牌,ShallowDream
接下来差的就是给牌比大小与分情况作答
代码
#include <iostream>
#include<algorithm>
using namespace std;
char x[15]={'3','4','5','6','7','8','9','X','J','Q','K','A','2','M','F'};
int main()
{
int t;
cin>>t;
while(t--)
{
string a,b;
cin>>a>>b;
int result=0;
int c,d,i,j;//c记录先手最大的牌,d记录后手最大的牌
if((a[0]==a[1])||(a[0]=='M'&&a[1]=='F')||(a[0]=='F'&&a[1]=='M'))
{
result=1;
}
else if((b[0]=='M'&&b[1]=='F')||(b[0]=='F'&&b[1]=='M'))
{
result=0;
}
else
{
for(i=0;i<15;i++)
{
if(x[i]==a[0])
{
c=i;
}
if(x[i]==b[0])
{
d=i;
}
}
for(j=0;j<15;j++)
{
if(x[j]==a[1]&&j>c)
{
c=j;
}
if(x[j]==b[1]&&j>d)
{
d=j;
}
}
if(c>=d)
{
result=1;
}
}
if(result==1)
{
cout<<"ShallowDream"<<endl;
}
else
{
cout<<"Joker"<<endl;
}
}
return 0;
}

浙公网安备 33010602011771号