POJ 2993 Emag eht htiw Em Pleh 模拟

题意: 把POJ2996的输入 当 输出 把 2996的输出当输入、、

思路: 模拟 还原棋盘

1Y 无压力、、

#include <iostream>
#include <algorithm>
using namespace std;
struct P
{
	int x,y;
	char d;
}p[80];
bool cmp(P a, P b)
{
	if(a.x!=b.x) return a.x<b.x;
	else return a.y<b.y;
}
int main()
{
	int i,j,k=0,sum=0,x;
	char d,y,c;
	scanf("White:");
	while(scanf("%c", &c)&&c!='\n')
	{
		scanf("%c",&d);
		if(d<'a')
		{
			scanf("%c%d", &y,&x);
			p[sum].d = d; p[sum].x = 9-x;	p[sum].y = y-'a'+1;
		}
		else
		{
			scanf("%d", &x);
			p[sum].d = 'P'; p[sum].x = 9-x; p[sum].y = d-'a'+1;
		}
		sum++;
	}
	scanf("Black:");
	while(scanf("%c", &c)&&c!='\n')
	{
		scanf("%c",&d);
		if(d<'a')
		{
			scanf("%c%d", &y,&x);
			p[sum].d = d+32; p[sum].x = 9-x;	p[sum].y = y-'a'+1;
		}
		else
		{
			scanf("%d", &x);
			p[sum].d = 'p'; p[sum].x = 9-x; p[sum].y = d-'a'+1;
		}
		sum++;
	}
	sort(p, p+sum, cmp);
	for(i=1; i<=8; i++)
	{
		printf("+---+---+---+---+---+---+---+---+\n|");
		for(j=1; j<=8; j++)
		{
			if((i+j)%2) c = ':';
			else c = '.';
			if(p[k].x==i && p[k].y==j && k<sum)
			{
				printf("%c%c%c|", c, p[k].d, c);
				k++;
			}
			else printf("%c%c%c|", c, c, c);
		}
		printf("\n");
	}
	printf("+---+---+---+---+---+---+---+---+\n");
	return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值