Time Limit: 1000ms
Memory Limit: 128000KB
64-bit integer IO format: Java class name:-
玩家1和玩家2各出一张牌,看谁大。如果两张牌都不是王牌花色或则都是王牌花色,则牌面大的牌大,如果牌面一样大则一样大。若其中一张牌是王牌而另一张不是,则无论牌面如何都是王牌花色大。
Input
第一行一个数字n,代表数据组数(n <= 10)
对于每组数据,首先输入一个字符(SHDC),表示王牌花色。
接下去一行有两张牌面,表示为牌面花色,如8D、9S等。
对于每组数据,首先输入一个字符(SHDC),表示王牌花色。
接下去一行有两张牌面,表示为牌面花色,如8D、9S等。
Output
对于每组数据,输出第一张牌是否比第二张牌大,若是则输出YES,否则输出NO
Sample Input
1 H QH 9S
Sample Output
YES
Hint
A的值为1,不是13
可恶的字符串处理...
代码:
1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #include <limits.h> 5 #include <algorithm> 6 #include <iostream> 7 #include <ctype.h> 8 #include <iomanip> 9 #include <queue> 10 #include <map> 11 #include <stdlib.h> 12 using namespace std; 13 14 int main() 15 { 16 int n,i,j; 17 char m; 18 char x[22],y[22]; 19 scanf("%d",&n); 20 while(n--){ 21 getchar(); 22 scanf("%c",&m); 23 scanf("%s%s",x,y); 24 25 int a=strlen(x); 26 int b=strlen(y); 27 28 if(x[0]=='1') 29 i=10; 30 else if(x[0]=='A') 31 i=1; 32 else if(x[0]=='J') 33 i=11; 34 else if(x[0]=='Q') 35 i=12; 36 else if(x[0]=='K') 37 i=13; 38 else 39 i=x[0]-'0'; 40 41 if(y[0]=='1') 42 j=10; 43 else if(y[0]=='A') 44 j=1; 45 else if(y[0]=='J') 46 j=11; 47 else if(y[0]=='Q') 48 j=12; 49 else if(y[0]=='K') 50 j=13; 51 else 52 j=y[0]-'0'; 53 54 //printf("%c %c ",x[a-1],y[b-1]); 55 //printf("%d %d ",i,j); 56 57 if(x[a-1]==m&&y[b-1]!=m) 58 printf("YES "); 59 else if(x[a-1]!=m&&y[b-1]==m) 60 printf("NO "); 61 else if(i>j) 62 printf("YES "); 63 else 64 printf("NO "); 65 } 66 } 67