UVA5870 乱搞 Smooth Visualization
#include<stdio.h> #include<string.h> #define maxn 1201 char c[300][301],s[maxn]; int col; int getmax() { int i,j,len=strlen(s); int max=0; for(i=0;i<len;i++) { int id=s[i]-'0'; if(id>max) max=id; } return max; } int main() { int i,j,t,len; scanf("%d",&t); while(t--) { scanf("%s",s); len=strlen(s); col=getmax(); int lie=0,tt=s[0]-'0'; j=s[0]-'0'; for(i=0;i<len;i++) { int id=s[i]-'0'; if(id>tt) { j=tt; for(;tt<=id;tt++) { int k; int ret=col-tt; for(k=0;k<ret;k++) { c[k][lie]='*'; } for(;k<col;k++) c[k][lie]='+'; lie++; } } else { int vv=tt-2; j=id; tt=id; for(;vv>j;vv--) { int k; int ret=col-vv; for(k=0;k<ret;k++) { c[k][lie]='*'; } for(;k<col;k++) c[k][lie]='+'; lie++; } for(;tt<=id;tt++) { int k; int ret=col-tt; for(k=0;k<ret;k++) { c[k][lie]='*'; } for(;k<col;k++) c[k][lie]='+'; } lie++; } } for(i=0;i<col;i++) { for(j=0;j<lie;j++) { printf("%c",c[i][j]); } printf("\n"); } } }