UVa 232 - Crossword Answers
昨晚看了看,感觉还可以,就把这题写出来了,刚才交的的是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][n]);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[n][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[n][j]);if(s[n+1][j]=='*'||n==r-1)break;}printf("\n");}}sign++;}return 0;
}
UVa 232 - Crossword Answers相关推荐
- UVA - 232 Crossword Answers
Crossword Answers UVA - 232 题目传送门 直接按照要求寻找遍历一遍即可 AC代码: #include <cstdio> #include <iostream ...
- uva 232 - Crossword Answers(纵横迷宫)
习题3-6 纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994, UVa232) 输入一个r行c列(1≤r,c≤10)的网格,黑格用" ...
- Uva 232.Crossword Answers
下面的输出一定要是%3d的格式来输出序号 另外注意两个解之间的空格 1 #include <cstdio> 2 #include <cstring> 3 using names ...
- uva 232 Crossword Answers
https://vjudge.net/problem/UVA-232 题意: 输入一个r行c列的网格,黑格用"*"来表示,每个白格都填有一个字母.如果一个白格的左边或者上边的相邻位 ...
- 232 Crossword Answers
我用了一天多的时间来做这个题,从连题都看不懂,到思路混乱,到写出来差不多能运行但是有bug的代码,再到将自己写的一百行代码缩减到五十行,再到算法的逐渐精炼,我不管我能写多少代码,但是我希望我写的代码都 ...
- UVA232 纵横字谜的答案 Crossword Answers 题解
题意翻译 输入一个r 行c 列(1<r,.c<10) 的网格,黑格用"*"每个白格都填有一个字母.如果一个白格的左边相邻位置或者上边相邻位置没有白格(可能是黑格,也可能 ...
- 习题3-6 纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994, UVa232)
原题vjudge 输入一个r行c列(1≤r,c≤10)的网格,黑格用"*"表示,每个白格都填有一个字母. 如 果一个白格的左边相邻位置或者上边相邻位置没有白格(可能是黑格,也可能出 ...
- I - Crossword Answers
题目描述 输入一个r行c列(1<=r,c<=10)的网格,黑格用"*"表示,每个白格都填有一个字母,如果一个白格的左边相邻的位置或者边上相邻的位置没有白格(可能是黑格, ...
- UVa232 Crossword Answers(纵横字谜的答案)
题意: 输入一个r行c列的网格,*表示黑格,字母表示白格.若一个白格位于边界或上方是黑格或左方是黑格,则称其为起始格.找出所有横向单词和竖向单词,其必须从一个起始格开始,到黑格或网格边界为止. 思路: ...
最新文章
- GraphicsMagick扩展配置安装
- 中国电力行业运行形势及十四五供需状况分析报告2021-2027年
- 笨人可以学计算机吗,为什么有的笨人一旦开窍,其人生就像开了挂似的呢?
- JavaScript解析Json字符串
- 在 Nginx 上支持 HTTP/3
- windows下客户端连接上马上会断开连接_Tunneller VS DCOM,稳定性更高的连接!
- html css表格样式模板_HTML amp; CSS 基础入门【4】列表及其样式
- python 等差数列list_Python3基础 list range+for 等差数列
- ubunut 安装 pyqt5
- python怎么读取dat文件_小白也能学会系列:用python文件读写代码实例!(简单案例)...
- 六、肿瘤RNA突变的全组学研究-肿瘤基因调控(Genomic basis for RNA alterations in cancer)
- RAID技术分类介绍
- Mixpanel 可视化ABTest分析 —— iOS篇
- [GitHub] JavaScript 趋势榜项目(第30周)
- 华三(H3C)单臂路由
- 优秀的UI设计师应该了解的图标设计规范!
- 启动docker时映射到宿主机时出现 /usr/bin/docker-current: Error response from daemon: driver failed……的解决方案
- php 模拟微信登录,PHP 模拟登录微信公众平台
- 树莓派应用:无线扫描仪
- 台式机设置声音快捷键