HDU 4461 The Power of Xiangqi
大水题,好欢乐,需要注意的就是字符的读入,不要出错。
1 #include<stdio.h> 2 #include<iostream> 3 using namespace std; 4 5 #include<math.h> 6 #include<algorithm> 7 #include<string> 8 #include<map> 9 #include<queue> 10 #define repA(p,q,i) for(int (i)=(p); (i)!=(q); ++(i) ) 11 #define repD(p,q,i) for(int (i)=(p); (i)!=(q); --(i) ) 12 #define repAE(p,q,i) for(int (i)=(p); (i)<=(q); ++(i) ) 13 #define repDE(p,q,i) for(int (i)=(p); (i)>=(q); --(i) ) 14 #define range 1010 15 16 int n,m; 17 int p,q; 18 int A[10]; 19 int B[10]; 20 int li[7]={16, 7, 8, 1, 1, 2, 3}; 21 22 int Asolve(); 23 int Bsolve(); 24 25 int main() 26 { 27 int test; scanf("%d",&test); 28 while(test--) 29 { 30 p = Asolve(); 31 q = Bsolve(); 32 if(p > q) printf("red\n"); 33 else if(p == q) printf("tie\n"); 34 else printf("black\n"); 35 } 36 } 37 38 int Asolve() 39 { 40 scanf("%d",&n); 41 repA(0,10,i) 42 A[i]=0; 43 int total=0; 44 char c; 45 while(n--) 46 { 47 while( (c=getchar() ) == ' ' ) ; 48 total += li[c-'A']; 49 ++A[c-'A']; 50 } 51 if( (A[1]==0 || A[2]==0) && total > 1 ) 52 --total; 53 return total; 54 } 55 56 int Bsolve() 57 { 58 scanf("%d",&m); 59 repA(0,10,i) 60 B[i]=0; 61 int total=0; 62 char c; 63 while(m--) 64 { 65 while( (c=getchar() ) == ' ' ) ; 66 total += li[c-'A']; 67 ++B[c-'A']; 68 } 69 if( (B[1]==0 || B[2]==0) && total > 1 ) 70 --total; 71 return total; 72 }
To Be The Best Of Yourself