232 Crossword Answers
来源:互联网 发布:搜狐2016出品的网络剧 编辑:程序博客网 时间:2024/06/05 19:58
我用了一天多的时间来做这个题,从连题都看不懂,到思路混乱,到写出来差不多能运行但是有bug的代码,再到将自己写的一百行代码缩减到五十行,再到算法的逐渐精炼,我不管我能写多少代码,但是我希望我写的代码都是精品,又想起那句话,重剑无锋,大巧无工,代码也是如此。
这个题我栽在格式上了,题目要求,在可执行输入后,每个输出之间需要有一个空行,我在第一个输出后直接加了个空行再开始的第二次的输入,这样是错误的,虽然我现在依然感觉并不错。。。但是oj题既然严格就按严格的来写算了
以下是我的代码
#include<stdio.h>#include<string.h>main(){ int i,n,m,x,y,sum,biaoji[20][20],count=1,diao; char qian[20][20]={0}; while(scanf("%d",&n)&&n!=0) { diao=0; sum=1; memset(biaoji,0,sizeof(biaoji)); scanf("%d",&m); getchar(); gets(qian[0]);if(qian[0][0]=='0')break; for(i=1;i<n;i++) gets(qian[i]); if(count>1)printf("\n"); for(x=0;x<n;x++) for(y=0;y<m;y++) {if(qian[x][y]=='*') {biaoji[x][y]=-1;continue;} if(y==0||x==0){biaoji[x][y]=sum;sum++;} if(x!=0&&y!=0&&(qian[x][y-1]=='*'||qian[x-1][y]=='*')) {biaoji[x][y]=sum;sum++;} } printf("puzzle #%d:\n",count++); printf("Across\n"); for(x=0;x<n;x++) for(y=0;y<m;y++) { if(biaoji[x][y]==-1)continue; if(biaoji[x][y]>=0&&y==0||biaoji[x][y]>=0&&biaoji[x][y-1]==-1)printf("%3d.",biaoji[x][y]); if(biaoji[x][y]>=0&&biaoji[x][y+1]==-1||(biaoji[x][y]>=0&&y==m-1)){printf("%c\n",qian[x][y]);continue;} printf("%c",qian[x][y]); } printf("Down\n"); for(x=0;x<n;x++) for(y=0;y<m;y++) {i=x; if(biaoji[x][y]==-1||biaoji[x][y]==-2)continue; if(biaoji[x][y]>=0) for(;i<n;i++){ if(biaoji[i][y]==-1)break; if(biaoji[i][y]>=0&&i==0||biaoji[i-1][y]==-1&&biaoji[i][y]>=0)printf("%3d.",biaoji[i][y]); if(biaoji[i][y]>=0&&biaoji[i+1][y]==-1||(biaoji[i][y]>=0&&i==n-1)){printf("%c\n",qian[i][y]);biaoji[i][y]=-2;continue;} printf("%c",qian[i][y]);biaoji[i][y]=-2; } }}}
0 0
- uva 232 - Crossword Answers
- uva 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa-232 - Crossword Answers
- Uva-232 - Crossword Answers
- uva---232--- Crossword Answers
- UVa 232 Crossword Answers
- 232 - Crossword Answers
- UVa 232 - Crossword Answers
- 232 - Crossword Answers
- UVa-232Crossword Answers
- 【Uva 232】 Crossword Answers
- UVa 232 Crossword Answers
- UVa 232 Crossword Answers
- UVA - 232 Crossword Answers
- Uva - 232 - Crossword Answers
- UVa 232 - Crossword Answers
- Android介绍
- Play on Words POJ - 1386 Euler路
- virtualbox虚拟机无法上网
- string
- 把所有软链接替换为真实文件
- 232 Crossword Answers
- Hbase常用命令
- qmake用户手册——qmake教程
- CC2541 空中升级(OAD)
- php Composer的简单使用
- hibernate核心配置文件详解
- POJ-1273 Drainage Ditches
- PAT TEST 甲级1001. A+B Format (20)
- Lua学习日记1