首页 > 代码库 > poj2993(Emag eht htiw Em Pleh)
poj2993(Emag eht htiw Em Pleh)
题目大意:
给你白棋子的位置:
White: Ke1,Qd1,Ra1,Rh1,Bc1,Bf1,Nb1,a2,c2,d2,f2,g2,h2,a3,e4
和黑棋子的位置:
Black: Ke8,Qd8,Ra8,Rh8,Bc8,Ng8,Nc6,a7,b7,c7,d7,e7,f7,h7,h6
模拟出棋盘的情况
a-h代表横坐标,1-17代表纵坐标。后面的位置首歌字符没有大写字母的是P,其中白棋子p是大写,黑棋子p是小写。
解题思路:
一句话太恶心,模拟一小时,我都晕了。
代码:
1 #include <algorithm> 2 #include <iostream> 3 #include <sstream> 4 #include <cstdlib> 5 #include <cstring> 6 #include <cstdio> 7 #include <string> 8 #include <bitset> 9 #include <vector> 10 #include <queue> 11 #include <stack> 12 #include <cmath> 13 #include <list> 14 #include <map> 15 #include <set> 16 using namespace std; 17 /***************************************/ 18 #define ll long long 19 #define int64 __int64 20 /***************************************/ 21 const int INF = 0x7f7f7f7f; 22 const double eps = 1e-8; 23 const double PIE=acos(-1.0); 24 const int dx[]= {0,-1,0,1}; 25 const int dy[]= {1,0,-1,0}; 26 const int fx[]= {-1,-1,-1,0,0,1,1,1}; 27 const int fy[]= {-1,0,1,-1,1,-1,0,1}; 28 /***************************************/ 29 void openfile() 30 { 31 freopen("data.in","rb",stdin); 32 freopen("data.out","wb",stdout); 33 } 34 /**********************华丽丽的分割线,以上为模板部分*****************/ 35 36 int main() 37 { 38 char board[18][35]= 39 { 40 "", 41 " +---+---+---+---+---+---+---+---+", 42 " |:::|...|:::|...|:::|...|:::|...|", 43 " +---+---+---+---+---+---+---+---+", 44 " |...|:::|...|:::|...|:::|...|:::|", 45 " +---+---+---+---+---+---+---+---+", 46 " |:::|...|:::|...|:::|...|:::|...|", 47 " +---+---+---+---+---+---+---+---+", 48 " |...|:::|...|:::|...|:::|...|:::|", 49 " +---+---+---+---+---+---+---+---+", 50 " |:::|...|:::|...|:::|...|:::|...|", 51 " +---+---+---+---+---+---+---+---+", 52 " |...|:::|...|:::|...|:::|...|:::|", 53 " +---+---+---+---+---+---+---+---+", 54 " |:::|...|:::|...|:::|...|:::|...|", 55 " +---+---+---+---+---+---+---+---+", 56 " |...|:::|...|:::|...|:::|...|:::|", 57 " +---+---+---+---+---+---+---+---+" 58 }; 59 char a[50][10],b[50][10]; 60 memset(a,0,sizeof(a)); 61 memset(b,0,sizeof(b)); 62 int i,j; 63 int ce=0; 64 int x,y; 65 int len1=0,len2=0; 66 for(i=0; i<50; i++) 67 { 68 for(j=0; j<10; j++) 69 { 70 scanf("%c",&a[i][j]); 71 if (a[i][j]==‘,‘||a[i][j]==‘ ‘) 72 break; 73 if (a[i][j]==‘\n‘) 74 { 75 len1=i; 76 ce=1; 77 break; 78 } 79 } 80 if (ce) 81 break; 82 } 83 ce=0; 84 for(i=0; i<50; i++) 85 { 86 for(j=0; j<10; j++) 87 { 88 scanf("%c",&b[i][j]); 89 if (b[i][j]==‘,‘||b[i][j]==‘ ‘) 90 break; 91 if (b[i][j]==‘\n‘) 92 { 93 len2=i; 94 ce=1; 95 break; 96 } 97 } 98 if (ce) 99 break; 100 } 101 ce=0; 102 if (a[0][0]==‘W‘) 103 ce=1; 104 if (ce) 105 { 106 for(i=1; i<=len1; i++) 107 { 108 109 int len=strlen(a[i]); 110 if (len==4) 111 { 112 x=a[i][1]-‘a‘; 113 y=a[i][2]-‘0‘; 114 board[y*2][x*4+3]=a[i][0]; 115 } 116 if (len==3) 117 { 118 x=a[i][0]-‘a‘; 119 y=a[i][1]-‘0‘; 120 board[y*2][x*4+3]=‘P‘; 121 } 122 } 123 for(i=1; i<=len2; i++) 124 { 125 126 int len=strlen(b[i]); 127 if (len==4) 128 { 129 x=b[i][1]-‘a‘; 130 y=b[i][2]-‘0‘; 131 board[y*2][x*4+3]=b[i][0]+32; 132 } 133 if (len==3) 134 { 135 x=b[i][0]-‘a‘; 136 y=b[i][1]-‘0‘; 137 board[y*2][x*4+3]=‘p‘; 138 } 139 } 140 } 141 else 142 { 143 for(i=1; i<=len1; i++) 144 { 145 146 int len=strlen(a[i]); 147 if (len==4) 148 { 149 x=a[i][1]-‘a‘; 150 y=a[i][2]-‘0‘; 151 board[y*2][x*4+3]=a[i][0]+32; 152 } 153 if (len==3) 154 { 155 x=a[i][0]-‘a‘; 156 y=a[i][1]-‘0‘; 157 board[y*2][x*4+3]=‘p‘; 158 } 159 } 160 for(i=1; i<=len2; i++) 161 { 162 163 int len=strlen(b[i]); 164 if (len==4) 165 { 166 x=b[i][1]-‘a‘; 167 y=b[i][2]-‘0‘; 168 board[y*2][x*4+3]=b[i][0]; 169 } 170 if (len==3) 171 { 172 x=b[i][0]-‘a‘; 173 y=b[i][1]-‘0‘; 174 board[y*2][x*4+3]=‘P‘; 175 } 176 } 177 } 178 for(i=17;i>0;i--) 179 { 180 for(j=1;j<=33;j++) 181 printf("%c",board[i][j]); 182 printf("\n"); 183 } 184 return 0; 185 } 186 /* 187 "+---+---+---+---+---+---+---+---+", 188 "|:::|...|:::|...|:::|...|:::|...|", 189 "+---+---+---+---+---+---+---+---+", 190 "|...|:::|...|:::|...|:::|...|:::|", 191 "+---+---+---+---+---+---+---+---+", 192 "|:::|...|:::|...|:::|...|:::|...|", 193 "+---+---+---+---+---+---+---+---+", 194 "|...|:::|...|:::|...|:::|...|:::|", 195 "+---+---+---+---+---+---+---+---+", 196 "|:::|...|:::|...|:::|...|:::|...|", 197 "+---+---+---+---+---+---+---+---+", 198 "|...|:::|...|:::|...|:::|...|:::|", 199 "+---+---+---+---+---+---+---+---+", 200 "|:::|...|:::|...|:::|...|:::|...|", 201 "+---+---+---+---+---+---+---+---+", 202 "|...|:::|...|:::|...|:::|...|:::|", 203 "+---+---+---+---+---+---+---+---+", 204 */
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。