题目名称 84. 画海岛地图
输入输出 island.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 5
题目来源 Gravatarcqw 于2008-09-03加入
开放分组 全部用户
提交状态
分类标签
搜索法
分享题解
通过:25, 提交:81, 通过率:30.86%
Gravatarmaxiem 100 0.001 s 0.17 MiB Pascal
Gravatarreamb 100 0.002 s 0.11 MiB Pascal
Gravatarzhai 100 0.002 s 0.11 MiB Pascal
Gravatarchengyang 100 0.002 s 0.11 MiB Pascal
Gravatarzpl123 100 0.002 s 0.11 MiB Pascal
Gravatarbing 100 0.002 s 0.11 MiB Pascal
Gravatarthegy 100 0.002 s 0.11 MiB Pascal
GravatarAchilles 100 0.002 s 0.13 MiB Pascal
GravatarPom 100 0.002 s 0.31 MiB C++
Gravatar辨机ZN 100 0.007 s 0.11 MiB Pascal
本题关联比赛
NOIP_1
NOIP_1
NOIP_1
NOIP_1
NOIP_1
20120919dfs
关于 画海岛地图 的近10条评论(全部评论)
ETBJ+1!!!!!!!!!!!!!!!!
GravatarEnAsn
2008-10-17 13:21 5楼
删程序!!记住要用char不要用string。。。。
Gravatarrottenwood
2008-10-15 21:15 4楼
真长真长
Gravatar辨机ZN
2008-10-15 19:23 3楼
相当麻烦的搜索,调了n次才过。
Gravatar苏轼
2008-10-14 13:31 2楼
评论1:2 评论2:很2 评论3:非常2 ……………… 搜索加剪枝。
Gravatarmaxiem
2008-09-12 13:13 1楼

84. 画海岛地图

★★   输入文件:island.in   输出文件:island.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

用 N*N(1<=N<=8) 的格点阵代表海,其中 * 代表岛。给你一组编码信息,让你重构一张地图。这组信息是按垂直方向、水平方向岛的分布情况摘取的。下例中,每行右边的数字按顺序表示该行中“岛组”的大小,如第一行数字为“ 1 2 ”,表示该行第一“岛组”由一个岛组成,第二“岛组”由两个岛组成,而第四列下面的“ 2 3 ”则表示本列由两个“岛组”组成,第一个“岛组”由两个岛组成,第二个“岛组”由三个岛组成。

现要求你编程解决下列问题:读取一个信息块,根据信息块重构地图(若有多个解,逐个构成地图)。

【输入格式】

第一行:N,N表示格点阵大小(N<=8)。

第 2—N+1 行,表示水平方向岛组信息。

第N+2—2N+1行,表示垂直方向岛组信息。

所有的島組信息都是以0結尾。

【输出格式】

第一行:岛组编号。

第2—N+1行:*号表示的地图。

若有多个解时,按上面格式依次输出(输出顺序按地图中最上,最左边的*号位置(i,j)由小到大排序,i是第一关键字,j是第二关键字);若无解时,输出'no'。

【输入样例】

8
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0

【输出样例】

1
* * * *
 * * * *
* * * *
 * * * *
* * * *
 * * * *
* * * *
 * * * *
2
 * * * *
* * * *
 * * * *
* * * *
 * * * *
* * * *
 * * * *
* * * *