[Crossword Answers UVA
来源:互联网 发布:plotagraph同类软件 编辑:程序博客网 时间:2024/06/09 22:40
Crossword Answers UVA - 232
#include <string.h>#include <stdio.h>//#define LOCALchar s[12][12];int num[12][12];int main(){ int cases = 0;#ifdef LOCAL freopen("test.txt", "r", stdin);#endif int r, c; while (scanf("%d %d", &r, &c) == 2) { memset(num, 0, sizeof(num)); for (int i = 0; i < r; ++i) scanf("%s", s[i]); int m = 1; //mark the num for (int i = 0; i < r; ++i) { for (int j = 0; j < c; j++) { if (s[i][j] == '*') continue; if (i == 0 || s[i - 1][j] == '*' || j == 0 || s[i][j - 1] == '*') num[i][j] = m++; } } if (cases) printf("\n"); printf("puzzle #%d:\nAcross\n", ++cases); for (int i = 0; i < r; i++) { for (int j = 0; j < c;) { if (num[i][j] == 0 || s[i][j] == '*') { ++j; continue; } printf("%3d.", num[i][j]); while (j < c && s[i][j] != '*') { putchar(s[i][j]); ++j; } printf("\n"); } } printf("Down\n"); for (int i = 0; i < r; i++) { for (int j = 0; j < c; ++j) { if (num[i][j] == 0 || s[i][j] == '*') continue; printf("%3d.", num[i][j]); int k = i; while (k < r && s[k][j] != '*') { putchar(s[k][j]); num[k][j] = 0; ++k; } printf("\n"); } } } return 0;}
属于模拟题,要控制好相关语句的输出顺序,以及,num[i][j]=0很重要!
阅读全文
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
- UVa 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
- Uva 232 Crossword Answers
- UVA 232 Crossword Answers
- LoadRunner常用问题解决方法
- 4个跳转语句return、goto、break、continue
- 如何用c语言比较字符串的大小并合并字符串
- KMP
- ssh框架
- [Crossword Answers UVA
- c++常量指针和指针常量--const
- 【c++】运算符重载练习
- hdu 1150 Machine Schedule(二分匹配)
- ubuntu(14)系统安装mysql
- SSH框架总结
- Hive行转列,列转行
- c语言实现双向循环链表
- maven将项目达成jar包并运行mvn package,java -jar 项目jar包