POJ2993Emag eht htiw Em Pleh

终于撸完了最后一道模拟题,恶心死我了。。。

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#include<stack>
#include<queue>
using namespace std;
char Map[40][40];
void IntMap()
{
	for(int i=0;i<17;i++)
	{	
		for(int j=0;j<33;j++)
		{
			if(i%2==0&&j%4==0)
				Map[i][j]='+';
			else if(i%2==0&&j%4!=0)
				Map[i][j]='-';
			else if(i%2==1&&j%4==0)
				Map[i][j]='|';
			else if(i%4==1&&(j%8==1||j%8==2||j%8==3))
				Map[i][j]='.';
			else if(i%4==3&&(j%8==5||j%8==6||j%8==7))
				Map[i][j]='.';
			else
				Map[i][j]=':';
		}
	}

}
void printMap()
{
	for(int i=0;i<17;i++)
	{	
		for(int j=0;j<33;j++)
			printf("%c",Map[i][j]);
		printf("\n");
	}

}
int tracol(char ch)
{
	switch(ch)
	{
		case 'a':return 0;
		case 'b':return 1;
		case 'c':return 2;
		case 'd':return 3;
		case 'e':return 4;
		case 'f':return 5;
		case 'g':return 6;
		case 'h':return 7;
	}
	return -1;
}
void inser(int isp,int iswb,char *p)//p->1 w->0
{
	char ch;
	if(isp==0)
	{
		if(iswb==0)
			ch=*p;
		else
			ch=*p+32;
		char ti=*(p+1);
		char tj=*(p+2);
		//printf("%c %c %c**",ch,ti,tj);
		int i=17-(tj-'0')*2;
		int j=tracol(ti)*4+2;
		Map[i][j]=ch;

	}
	else
	{
		if(iswb==0)
			ch='P';
		else
			ch='p';
		char ti=*(p);
		char tj=*(p+1);
		//printf("%c %c %c**",ch,ti,tj);
		int i=17-(tj-'0')*2;
		int j=tracol(ti)*4+2;
		Map[i][j]=ch;
	}


}
int main()
{
	IntMap();
	//printMap();
	char trash[10],info[100];
	scanf("%s%s",trash,info);
	//printf("%s",info);
	int i=0;
	while(i<strlen(info))
	{
		if(info[i+3]==',')
		{
		inser(0,0,&info[i]);
		i+=4;
		}
		else
		{
		inser(1,0,&info[i]);
		i+=3;
		}

	}
	scanf("%s%s",trash,info);
	//printf("%s",info);
	i=0;
	while(i<strlen(info))
	{
		if(info[i+3]==',')
		{
		inser(0,1,&info[i]);
		i+=4;
		}
		else
		{
		inser(1,1,&info[i]);
		i+=3;
		}

	}
	printMap();
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值