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 |
Re:第一个printmap()是我测试时用的。。忘了删了~~~In Reply To:一次AC。。做过最囧的模拟题。。len=1时数字都要一个一个打进去。。哎。。附代码 Posted by:yzhw at 2009-04-01 20:28:52 > Source Code > > Problem: 1102 User: yzhw > Memory: 320K Time: 0MS > Language: GCC Result: Accepted > > Source Code > # include <stdio.h> > # include <string.h> > char refer[10][5][5]; > char res[23][12*8+8+1]; > void printmap(int size,int pos) > { > int i,j; > for(i=0;i<2*size+3;i++) > { > for(j=0;j<=pos;j++) printf("%c",res[i][j]); > printf("\n"); > } > } > void addprint(int size,int num,int *pos) > { > int r=0,i,flag; > (*pos)+=size+2; > for(i=0;i<5;i++) > { > int j,k,insert=*pos,det=0; > for(j=2;j>=0;j--) > { > switch(refer[num][i][j]) > { > case ' ': > flag=1; > for(k=i-1;k>0;k--) > if(refer[num][k][j]=='-') > { > flag=0; > break; > } > for(k=i+1;k<5;k++) > if(refer[num][k][j]=='-') > { > flag=0; > break; > } > if(!flag) insert-=size; > else insert--; > break; > case '|': > for(k=r;k<r+size;k++) res[k][insert]='|'; > insert--; > det=1; > break; > case '-': > for(k=0;k<size;k++) res[r][insert--]='-'; > det=0; > break; > }; > } > if(det) r+=size; > else r++; > } > } > int main() > { > strcpy(refer[0][0]," - "); > strcpy(refer[0][1],"| |"); > strcpy(refer[0][2]," "); > strcpy(refer[0][3],"| |"); > strcpy(refer[0][4]," - "); > > strcpy(refer[1][0]," "); > strcpy(refer[1][1]," |"); > strcpy(refer[1][2]," "); > strcpy(refer[1][3]," |"); > strcpy(refer[1][4]," "); > > strcpy(refer[2][0]," - "); > strcpy(refer[2][1]," |"); > strcpy(refer[2][2]," - "); > strcpy(refer[2][3],"| "); > strcpy(refer[2][4]," - "); > > strcpy(refer[3][0]," - "); > strcpy(refer[3][1]," |"); > strcpy(refer[3][2]," - "); > strcpy(refer[3][3]," |"); > strcpy(refer[3][4]," - "); > > strcpy(refer[4][0]," "); > strcpy(refer[4][1],"| |"); > strcpy(refer[4][2]," - "); > strcpy(refer[4][3]," |"); > strcpy(refer[4][4]," "); > > strcpy(refer[5][0]," - "); > strcpy(refer[5][1],"| "); > strcpy(refer[5][2]," - "); > strcpy(refer[5][3]," |"); > strcpy(refer[5][4]," - "); > > strcpy(refer[6][0]," - "); > strcpy(refer[6][1],"| "); > strcpy(refer[6][2]," - "); > strcpy(refer[6][3],"| |"); > strcpy(refer[6][4]," - "); > > strcpy(refer[7][0]," - "); > strcpy(refer[7][1]," |"); > strcpy(refer[7][2]," "); > strcpy(refer[7][3]," |"); > strcpy(refer[7][4]," "); > > strcpy(refer[8][0]," - "); > strcpy(refer[8][1],"| |"); > strcpy(refer[8][2]," - "); > strcpy(refer[8][3],"| |"); > strcpy(refer[8][4]," - "); > > strcpy(refer[9][0]," - "); > strcpy(refer[9][1],"| |"); > strcpy(refer[9][2]," - "); > strcpy(refer[9][3]," |"); > strcpy(refer[9][4]," - "); > > while(1) > { > int size,i,j,pos=-1; > char data[10]; > scanf("%d %s",&size,data); > if(!size) break; > memset(res,' ',sizeof(res)); > for(i=0;i<strlen(data);i++) > { > addprint(size,data[i]-'0',&pos); > pos++; > } > for(i=0;i<2*size+3;i++) > { > for(j=0;j<=pos;j++) printf("%c",res[i][j]); > printf("\n"); > } > printf("\n"); > } > return 0; > } > > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator