ACM的一个题目,求大神帮忙看一下解决思路
ACM的一个题目,求大神帮忙看一下
题目在这:http://acmoj.shu.edu.cn/openjudge/viewproblem.php?coll_id=1&prob_id=3
代码:
怎么能够降低该程序运行时间,求大神指点下
------解决方案--------------------
题目在这:http://acmoj.shu.edu.cn/openjudge/viewproblem.php?coll_id=1&prob_id=3
代码:
- C/C++ code
#include <stdio.h> void c(int a,int k) { char b='A'; int i,j; printf("Case %d: n=%d\n",k,a); if(a<=0||a>=27) printf("No image!\n"); else { if(a==1) printf("%c\n",b); else { for(i=1;i<=a;i++) { for(j=0;j<a-i;j++) printf(" "); for(j=0;j<(2*i-1);j++) printf("%c",b+i-1); for(j=0;j<a-i;j++) printf(" "); printf("\n"); } for(i=a-1;i>0;i--) { for(j=0;j<a-i;j++) printf(" "); for(j=0;j<(2*i-1);j++) printf("%c",b+i-1); for(j=0;j<a-i;j++) printf(" "); printf("\n"); } } } } int main() { int e,f=1; while(scanf("%d",&e)) { c(e,f); f++; } }
怎么能够降低该程序运行时间,求大神指点下
------解决方案--------------------
- C/C++ code
#include <stdio.h> void c(int a,int k) { char b='A'; int i,j; printf("Case %d: n=%d\n",k,a); if(a<=0||a>=27) printf("No image!\n"); else { if(a==1) printf("%c\n",b); else { for(i=1;i<=a;i++) { for(j=0;j<a-i;j++) printf(" "); for(j=0;j<(2*i-1);j++) printf("%c",b+i-1); for(j=0;j<a-i;j++) printf(" "); printf("\n"); } for(i=a-1;i>0;i--) { for(j=0;j<a-i;j++) printf(" "); for(j=0;j<(2*i-1);j++) printf("%c",b+i-1); for(j=0;j<a-i;j++) printf(" "); printf("\n"); } } } } int main() { int e,f=1; while(scanf("%d",&e)!=EOF) { if(f!=1) printf("\n"); c(e,f); f++; } return 0; }