题目:这里
题解:2996反过来就行了。题解这里

//POJ 2993

#include <stdio.h>
#include <string.h>
#include <iostream>
char mp[40][40];
char s1[40], s2[40];

int main()
{
    //打印没有字母的空盘
    for(int i = 0; i < 8; i++)
    {
        for(int j = 0; j < 8; j++)
        {
            mp[2*i][4*j] = '+';
            mp[2*i+1][4*j] = '|';
            mp[2*i][4*j+1] = '-';
            mp[2*i][4*j+2] = '-';
            mp[2*i][4*j+3] = '-';
        }
        mp[2*i][32] = '+';
        mp[2*i+1][32] = '|';
        mp[2*i][33] = '\0';
        mp[2*i+1][33] = '\0';
        if(i == 7)
        {
            for(int j = 0; j < 8; j++)
            {
                mp[2*i+2][4*j] = '+';
                mp[2*i+2][4*j+1]='-';
                mp[2*i+2][4*j+2]='-';
                mp[2*i+2][4*j+3]='-';
            }
            mp[2*i+2][32]='+';
            mp[2*i+2][33]='\0';
        }
        for(int j = 0; j < 8; j++)
        {
            if((i+j)%2 == 0)
            {
                mp[2*i+1][4*j+1]='.';
                mp[2*i+1][4*j+2]='.';
                mp[2*i+1][4*j+3]='.';
            }
            else
            {
                mp[2*i+1][4*j+1]=':';
                mp[2*i+1][4*j+2]=':';
                mp[2*i+1][4*j+3]=':';
            }
        }
    }
//    for(int i = 0; i < 17; i++)
//    {
//        for(int j = 0; j < 34; j++)
//        {
//            printf("%c", mp[i][j]);
//        }
//        printf("\n");
//    }
    scanf("%s%s", s1, s2);
    for(int i = 0; s2[i] ;){
        if(s2[i] == ','){
            i++;
            continue;
        }
        if(isupper(s2[i])){
            int x = 8 - (s2[i+2]-'0');
            int y = s2[i+1] - 'a';
            mp[2*x+1][4*y+2] = s2[i];
            i += 3;
        }
        else{
            int x = 8 - (s2[i+1]-'0');
            int y = s2[i]-'a';
            mp[2*x+1][4*y+2] = 'P';
            i += 2;
        }
    }
    scanf("%s%s", s1, s2);
    for(int i = 0; s2[i] ;){
        if(s2[i] == ','){
            i++;
            continue;
        }
        if(isupper(s2[i])){
            int x = 8 - (s2[i+2]-'0');
            int y = s2[i+1] - 'a';
            mp[2*x+1][4*y+2] = s2[i] - 'A' + 'a';
            i += 3;
        }
        else{
            int x = 8 - (s2[i+1]-'0');
            int y = s2[i]-'a';
            mp[2*x+1][4*y+2] = 'p';
            i += 2;
        }
    }
    for(int i = 0; i < 17; i++) printf("%s\n", mp[i]);
}