被替换的身份证
题目
思路分析
斗地主简化版?!废话少说,四种情况
- 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; }