| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 559 人关注过本帖
标题:小题一道--进来坐坐--进来做做
只看楼主 加入收藏
abc888
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2007-4-24
收藏
 问题点数:0 回复次数:3 
小题一道--进来坐坐--进来做做

假如我们拥有一座笔直街道的方形城市。地图上城市是方形的,由n行和n列组成,每个点都代表一条街道或是一堵墙。
有一座木制的小城堡有四个开着的能射穿的窗户。四扇窗户各朝着北,东,南,西。有一把枪能射穿每扇窗户。
现在我们确定一颗子弹有太大的威力以至于能射穿任何距离一条直线上的城堡。另外,我们也知道了一堵墙很坚固,以至于能挡住子弹。
目的是在城市中放置尽可能多的城堡,以使他们任何两个都不会同时被摧毁。城堡位置的构造被正常的提供,使任两个城堡不会在同一行或同一列上,除非有一堵墙将他们分隔开来。在这个问题中我们将考虑小方形城市(至多为4*4)包含墙在内不能被子弹穿过。
下面的图展现了5张同一组形状。第一张图是空的形状,第二张和第三张图展现了正常的结构。在这张图中,合法构造的最大城堡安置数为5,而第二张图就是展现一个最大数的情况,但还有许多个方法。

你的任务是写一个程序,给你地图的描述,计算这个城市中合法构造的最大城堡安置数。输入文件包括1个或多个地图描述,并以一行0的数字作为文件结束的信号。每张地图描述以一行有一个整数开始,它表示一个城市的大小。n最多为4。接下去的n行,每行描述一行地图,
用‘.’代表一个空的位置,一个大写的‘X’代表一堵墙。输入文件中没有空行。
每组测试,输出一行,包含了一个城市中合法构造的最大安置数量。


Sample input

4
.X..
....
XX..
....
2
XX
.X
3
.X.
X.X
.X.
3
...
.XX
.XX
4
....
....
....
....
0

Sample output

5
1
5
2
4


[此贴子已经被作者于2007-6-29 21:30:59编辑过]

搜索更多相关主题的帖子: 窗户 
2007-06-28 14:54
abc888
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2007-4-24
收藏
得分:0 

加油呀!

[此贴子已经被作者于2007-6-29 21:31:50编辑过]


编海无涯,回头死岸
2007-06-28 15:00
geqmoon
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2004-10-16
收藏
得分:0 
我喊无能为力...

2007-06-28 15:26
七月初七
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-1
收藏
得分:0 
怎么看着像各种棋类的代码。。
不好意思,我也很菜,还没学到这块。

你是天上乌鸦在飞,我是地上野狗在追~^o^
2007-07-01 14:39
快速回复:小题一道--进来坐坐--进来做做
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051656 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved