232 Crossword Answers
#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;}}
}
}
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列的网格,黑格用"*"来表示,每个白格都填有一个字母.如果一个白格的左边或者上边的相邻位 ...
- UVa 232 - Crossword Answers
昨晚看了看,感觉还可以,就把这题写出来了,刚才交的的是WA了一次,原因是最后多了个空行.改了下空行出现的位置,AC了.不得不说UVA判的真严. #include<stdio.h> char ...
- 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列的网格,*表示黑格,字母表示白格.若一个白格位于边界或上方是黑格或左方是黑格,则称其为起始格.找出所有横向单词和竖向单词,其必须从一个起始格开始,到黑格或网格边界为止. 思路: ...
最新文章
- SAP QM中阶之动态修改规则创建
- aMSN 0.97问题解决一则
- 前景检测算法_4(opencv自带GMM)
- MVC %%与%=%与区别
- javaweb 之javascript 结合
- Java 泛型 泛型的约束与局限性
- 修改linux默认启动级别(包括Ubuntu)
- 微信多开软件苹果版_微信PC版 v3.0.0.57 多开amp;消息防撤回
- 数据库,部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别
- 源码安装apache, jre, tomcat
- Python使用MongoDB简记
- C# this关键字(给底层类库扩展成员方法)
- C# 读取csv、xls、xlsx表格(读取到datatable、sql查询语句读取)
- 无领导小组讨论(LGD)九大经典案例3
- 支付宝小程序获取外部任意小程序appId及页面路径(附常见appid)
- 学简单python好学吗_python好学吗? 语法简单吗? 举个例子?
- uniapp开发微信小程序分享功能
- 基于金字塔的模板匹配算法(python)
- java三种循环的流程图画法总结(for,while,do-while循环)
- 单片机 常用名词解释