POJ 2993 - Emag eht htiw Em Pleh
source link: https://exp-blog.com/algorithm/poj/poj2993-emag-eht-htiw-em-pleh/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
- POJ 2993 - Emag eht htiw Em Pleh
- Time: 1000MS
- Memory: 65536K
- 难度: 初级
- 分类: 模拟法
提示: 很烦很简单的国际象棋棋盘模拟,输入比较麻烦而已。
这题是 [POJ2996](.//Memory Time
//212K 0MS
#include
#include
using namespace std;
class whit
{
public:
int row;
char col;
char pie;
}ww[16];
class blac
{
public:
int row;
char col;
char pie;
}bb[16];
int main(void)
{
char white[63],black[63];
gets(white);
gets(black);
int x,y,z,r;
int count_w=0;
int count_b=0;
const int length_w=strlen(white);
const int length_b=strlen(black);
for(x=7,y=0;x<length_w;)
if(white[x]>='B' && white[x]<='R')
{
ww[y].pie=white[x];
ww[y].col=white[x+1];
ww[y].row=white[x+2]-'0'; //字符转数字
y++;
x+=4;
count_w++;
}
else if(white[x]>='a' && white[x]<='h')
{
ww[y].pie='P';
ww[y].col=white[x];
ww[y].row=white[x+1]-'0';
y++;
x+=3;
count_w++;
}
else
break;
for(x=7,y=0;x<length_b;)
if(black[x]>='B' && black[x]<='R')
{
bb[y].pie=black[x]+32; //大写字母转换小写字母
bb[y].col=black[x+1];
bb[y].row=black[x+2]-'0';
y++;
x+=4;
count_b++;
}
else if(black[x]>='a' && black[x]<='h')
{
bb[y].pie='p';
bb[y].col=black[x];
bb[y].row=black[x+1]-'0';
y++;
x+=3;
count_b++;
}
else
break;
char chess[9]['i'];
memset(chess,':',sizeof(chess));
for(x=1;x<=7;x+=2)
for(y='a';y<='g';y+=2)
chess[x][y]='.';
for(x=2;x<=8;x+=2)
for(y='b';y<='h';y+=2)
chess[x][y]='.';
for(x=0;x<count_w;x++)
chess[9-ww[x].row][ww[x].col]=ww[x].pie;
for(x=0;x<count_b;x++)
chess[9-bb[x].row][bb[x].col]=bb[x].pie;
cout<<"+---+---+---+---+---+---+---+---+"<<endl;
for(x=1,r=2;x<=7;x+=2,r+=2)
{
cout<<'|';
for(y='a',z='b';y<='g';y+=2,z+=2)
cout<<"."<<chess[x][y]<<".|:"<<chess[x][z]<<":|";
cout<<endl;
cout<<"+---+---+---+---+---+---+---+---+"<<endl;
cout<<'|';
for(y='a',z='b';y<='g';y+=2,z+=2)
cout<<":"<<chess[r][y]<<":|."<<chess[r][z]<<".|";
cout<<endl;
cout<<"+---+---+---+---+---+---+---+---+"<<endl;
}
return 0;
------
## 相关资料
- [北大 ACM - POJ 试题分类](https://exp-blog.com/algorithm/poj-shi-ti-fen-lei/)
- [北大 POJ 题库(官网在线)](http://poj.org/)
- [北大 POJ 题库(离线版)](https://github.com/lyy289065406/POJ-Solving-Reports/doc/POJ%E7%A6%BB%E7%BA%BF%E7%89%88%E9%A2%98%E7%9B%AE.chm)
- [POJ封面书《程序设计导引及在线实践》](https://github.com/lyy289065406/POJ-Solving-Reports/doc/程序设计导引及在线实践.pdf)
- [ACM 资料](https://lyy289065406.github.io/articles/tags/ACM/)
Recommend
-
5
2020 Year In Review Dec 21, 2020 About the Author InfoQ.com is facilitating...
-
10
InfoQ Homepage
-
6
The InfoQ eMag Nov 13, 2020 About the Author InfoQ.com is facilitating the s...
-
9
Designing, Operating, and Observing Oct 21, 2020 About the Author InfoQ.com ...
-
4
Java Innovations That Are on Their Way Jun 26, 2020 About the Author InfoQ.com
-
11
Real World Chaos Engineering Dec 07, 2020 About the Author InfoQ.com is faci...
-
9
InfoQ Homepage
-
3
Modern Data Engineering Feb 22, 2021 About the Author InfoQ.com is facilitat...
-
3
Resilience Engineering in the Age of COVID May 21, 2021 reviewed by...
-
2
Conversation Contributor The Coq formalization revealed that as curre...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK