PKU 2993 Emag eht htiw Em Pleh
http://poj.org/problem?id=2993
先程の問題の入出力を逆にするバージョン。
こちらのほうが微妙に楽な気がします。
これも書くだけ。
main(){ vector<string> ans(17,string(33,' ')); for(int i=0;i<17;i+=2){ for(int j=0;j<33;j+=4){ if(i)ans[i-1][j]='|'; ans[i][j]='+'; if(j){ int x=i/2,y=j/4; rep(k,3){ ans[i][j-k-1]='-'; if(i && (x+y)%2)ans[i-1][j-k-1]='.'; else if(i)ans[i-1][j-k-1]=':'; } } } } rep(rp,2){ string in; getline(cin,in); int pos; while(true){ pos=in.find(','); if(pos==string::npos)break; in[pos]=' '; } stringstream ss(in.substr(7)); while(ss>>in){ char cc; if(SZ(in)==2)cc='P'+rp*('p'-'P'); else cc=in[0]-rp*('P'-'p'); int y=(in[SZ(in)-2]-'a')*4+2,x=(in[SZ(in)-1]-'1')*2+1; ans[x][y]=cc; } } reverse(ALL(ans)); rep(i,17){ cout<<ans[i]<<endl; } }