Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
贴代码Case i,i忘记++了,WA了一次 直接模拟: #include <cstdlib> #include <iostream> using namespace std; const int maxn=16; int map[maxn][maxn]; int mark[maxn][maxn]; bool visit[maxn*4+5]; int main(void) { int n,t=1; while(scanf("%d",&n)==1) { if(n==0) break; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) mark[i][j]=2; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%d",&map[i][j]); printf("Case %d:\n\n",t); for(int i=1;i<=4*n+3;i++) { printf("*"); } printf("\n"); for(int i=1;i<=4*n-3;i++) { for(int j=0;j<=4*n+1;j++) visit[j]=false; printf("*"); if(i%4==1) { for(int j=1;j<=4*n+1;j++) { if(j%4==1) { printf("H"); if(visit[j-1]) visit[j]=true; } if(j%4==3) { printf("O"); if(visit[j-1]) visit[j]=true; } if(j==2) { printf("-"); visit[1]=true; visit[2]=true; } else if(j%4==2) { if(map[(i-1)/4+1][(j-1)/4+1]==-1) printf(" "); else if(map[(i-1)/4+1][(j-1)/4+1]==1) { printf("-"); visit[j-1]=true; visit[j]=true; visit[j+1]=true; } else if(visit[j-1]) printf(" "); else { printf("-"); visit[j-1]=true; visit[j]=true; visit[j+1]=true; } } else if(j%4==0) { if(map[(i-1)/4+1][j/4]==-1) printf(" "); else if(map[(i-1)/4+1][j/4]==1) { printf("-"); visit[j]=true; } else if(!visit[j-1]) { printf("-"); visit[j-1]=true; visit[j]=true; } else printf(" "); } } for(int j=1;j<=n;j++) { if(map[(i-1)/4+1][j]==1) mark[(i-1)/4+1][j]=0; else if(map[(i-1)/4+1][j]!=-1) mark[(i-1)/4+1][j]--; } } else if(i%4==2) { for(int j=1;j<=4*n+1;j++) { if(j%4==3) { if(mark[(i-1)/4+1][(j-1)/4+1]!=0) printf("|"); else printf(" "); } else printf(" "); } } else if(i%4==3) { for(int j=1;j<=4*n+1;j++) { if(j%4==3) printf("H"); else printf(" "); } } else if(i%4==0) { for(int j=1;j<=4*n+1;j++) { if(j%4==3&&mark[(i-1)/4+1][(j-1)/4+1]==0) { printf("|"); mark[i/4+1][(j-1)/4+1]--; } else printf(" "); } } printf("*\n"); } for(int i=1;i<=4*n+3;i++) { printf("*"); } printf("\n\n"); t++; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator