| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
做得跟SAMPLE一样,但是不应该会WA啊#include <iostream>
#include <string>
using namespace std;
struct card
{
int face;
int suit;
}cd[4];
bool smaller(card a,card b)
{
if(a.suit<b.suit) return true;
else if(a.suit==b.suit&&a.face<b.face) return true;
else return false;
}
card guess()
{
card c;
c.suit=cd[0].suit;
if(smaller(cd[1],cd[2]))
{
if(smaller(cd[1],cd[3]))
{
if(smaller(cd[2],cd[3])) c.face=cd[0].face+1;
else c.face=cd[0].face+2;
}
else c.face=cd[0].face+4;
}
else if(smaller(cd[1],cd[3])) c.face=cd[0].face+3;
else if(smaller(cd[2],cd[3])) c.face=cd[0].face+5;
else c.face=cd[0].face+6;
return c;
}
int main()
{
string s;
int n;
cin>>n;
for(int j=0;j<n;j++)
{
for(int i=0;i<4;i++)
{
cin>>s;
if(s[0]<='9') cd[i].face=s[0]-'0';
else if(s[0]=='T') cd[i].face=10;
else if(s[0]=='J') cd[i].face=11;
else if(s[0]=='Q') cd[i].face=12;
else cd[0].face=13;
if(s[1]=='H') cd[i].suit=1;
else if(s[1]=='C') cd[i].suit=2;
else if(s[1]=='D') cd[i].suit=3;
else cd[i].suit=4;
}
card c=guess();
if(c.face>13) c.face=c.face-13;
if(c.face<=9) cout<<c.face;
else if(c.face==10) cout<<'T';
else if(c.face==11) cout<<'J';
else if(c.face==12) cout<<'Q';
else cout<<'K';
if(c.suit==1) cout<<'H';
else if(c.suit==2) cout<<'C';
else if(c.suit==3) cout<<'D';
else cout<<'S';
cout<<endl;
}
return 0;
}
判断牌没有问题啊,难道输入输出有问题~~~
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator