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 }
View Code

 

posted on 2013-10-15 11:49  码农之上~  阅读(150)  评论(0编辑  收藏  举报

导航