若有疑问,参考2996题;
题目很无语
代码如下:
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
char c[10][10];
char aa[100];
char bb[100];
char str[20][40];
int main()
{
string a,b;
while(cin>>a)
{
cin>>aa;
cin>>b;
cin>>bb;
char l;
char ll;
int lll;
int lena=strlen(aa);
int lenb=strlen(bb);
int i,j,p;
for(i=0;i<lena;i++)
{
if(aa[i]>='A'&&aa[i]<='Z')
{
l=aa[i++];
ll=aa[i++];
lll=aa[i++]-'0';
c[8-lll+1][int(ll-'a'+1)]=l;
}
else
{
ll=aa[i++];
lll=aa[i++]-'0';
c[8-lll+1][int(ll-'a'+1)]='P';
}
}
for(i=0;i<lenb;i++)
{
if(bb[i]>='A'&&bb[i]<='Z')
{
l=bb[i++];
ll=bb[i++];
lll=bb[i++]-'0';
c[8-lll+1][int(ll-'a'+1)]=char(l+32);
}
else
{
ll=bb[i++];
lll=bb[i++]-'0';
c[8-lll+1][int(ll-'a'+1)]='p';
}
}
for(i=1;i<=8;i++)
{
for(j=1;j<=8;j++)
{
if((c[i][j]>='a'&&c[i][j]<='z')||(c[i][j]>='A'&&c[i][j]<='Z'))
continue;
else
{
if((i+j)%2==0)
c[i][j]='.';
else
c[i][j]=':';
}
}
}
for(i=1;i<=17;i++)
{
for(j=1;j<=33;j++)
{
if(i%2==1)
{
if(j%4==1)
cout<<'+';
else
cout<<'-';
}
else
{
if(j%4==1)
{
cout<<'|';
}
else if(j%4==3)
{
cout<<c[i/2][j/4+1];
}
else
{
if((i/2+(j-1)/4)%2==1)
cout<<'.';
else
cout<<':';
}
}
}
cout<<endl;
}
}
return 0;
}