2015-03-01 00:23:47
总结:A,B,C水题,D题翔提示哒,E题是个LCA加分类讨论,比赛中没敲完。。。
比赛搞了4题,赛后补了E。小结一下...(Orz Jay巨一小时AK...)
A:暴力,注意Knight的符号是'n'(Jay巨这里逗比辣..)
1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cmath> 5 #include <vector> 6 #include <map> 7 #include <set> 8 #include <stack> 9 #include <queue> 10 #include <string> 11 #include <iostream> 12 #include <algorithm> 13 using namespace std; 14 15 #define MEM(a,b) memset(a,b,sizeof(a)) 16 #define REP(i,n) for(int i=1;i<=(n);++i) 17 #define REV(i,n) for(int i=(n);i>=1;--i) 18 #define FOR(i,a,b) for(int i=(a);i<=(b);++i) 19 #define RFOR(i,a,b) for(int i=(a);i>=(b);--i) 20 #define getmid(l,r) ((l) + ((r) - (l)) / 2) 21 #define MP(a,b) make_pair(a,b) 22 23 typedef long long ll; 24 typedef pair<int,int> pii; 25 const int INF = (1 << 30) - 1; 26 27 char g[10][10]; 28 29 int main(){ 30 for(int i = 0; i < 8; ++i) 31 scanf("%s",g[i]); 32 int a1 = 0,a2 = 0; 33 for(int i = 0; i < 8; ++i){ 34 for(int j = 0; j < 8; ++j){ 35 char c = g[i][j]; 36 if(c == 'Q') a1 += 9; 37 else if(c == 'R') a1 += 5; 38 else if(c == 'B' || c == 'N') a1 += 3; 39 else if(c == 'P') a1 += 1; 40 else if(c == 'q') a2 += 9; 41 else if(c == 'r') a2 += 5; 42 else if(c == 'b' || c == 'n') a2 += 3; 43 else if(c == 'p') a2 += 1; 44 } 45 } 46 if(a1 == a2) printf("Draw\n"); 47 else if(a1 > a2) printf("White\n"); 48 else printf("Black\n"); 49 return 0; 50 }