UVa 232 - Crossword Answers
2014-10-20 13:03
239 查看
昨晚看了看,感觉还可以,就把这题写出来了,刚才交的的是WA了一次,原因是最后多了个空行。改了下空行出现的位置,AC了。不得不说UVA判的真严。
#include<stdio.h> char s[10][10]; int num[10][10]; int main() { int r, c, i, j, sign=1; while(scanf("%d", &r)) { if(r==0) break; scanf("%d",&c); int count=0; for( i=0; i < r; i++) scanf("%s",s[i]); for( i=0; i<r; i++) for( j=0; j<c; j++) { if(i==0&&s[i][j]!='*') num[i][j]=++count; else if((j==0&&s[i][j]!='*')||(s[i][j-1]=='*'&&s[i][j]!='*')||(s[i-1][j]=='*'&&s[i][j]!='*')) num[i][j]=++count; } if(sign!=1) printf("\n"); printf("puzzle #%d:\n",sign); printf("Across\n"); for( i=0; i<r; i++) for( j=0; j<c; j++) { if( s[i][j]!='*') { printf("%3d.",num[i][j]); int n; for( n=j; ; n++) { printf("%c",s[i] ); if(s[i][n+1]=='*'||n==c-1) break; } printf("\n"); j=n; } } printf("Down\n"); for( i=0; i<r; i++) for( j=0; j<c; j++) { int n; if(i==0&&s[i][j]!='*') { printf("%3d.",num[i][j]); for( n=i; ; n++) { printf("%c",s [j]); if(s[n+1][j]=='*'||n==r-1) break; } printf("\n"); } if( s[i][j]!='*'&& s[i-1][j]=='*'&&i!=0) { printf("%3d.",num[i][j]); for( n=i; ; n++) { printf("%c",s [j]); if(s[n+1][j]=='*'||n==r-1) break; } printf("\n"); } } sign++; } return 0; }
相关文章推荐
- 算法竞赛入门经典第二版的 纵横之谜的答案 uva 232
- uva232 - Crossword Answers
- UVa 232 纵横字谜的答案
- [Crossword Answers UVA - 232 ]
- UVa232 Crossword Answers
- UVa 232 Crossword Answers
- UVa-232 - Crossword Answers
- UVA - 232 Crossword Answers
- UVa 232 Crossword Answers
- Uva 232 Crossword Answers(3-6)
- Crossword Answer UVa232
- UVa 232 - Crossword Answers【字符串】
- 3-6 uva 232 Crossword Answers
- UVa 232 Crossword Answers
- UVa 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa-232 Crossword Answers
- Problem 016 —— UVa 232 - Crossword Answers
- UVa232
- Crossword Answers UVA - 232