比赛场次 | 171 |
---|---|
比赛名称 | 20120919dfs |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2012-09-19 19:00:00 |
结束时间 | 2012-09-19 22:00:00 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | 画海岛地图 |
---|---|
输入输出 | island.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试点数 | 5 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
苏轼 | AAAAA | 0.029 s | 3.16 MiB | 100 |
Makazeu | AAAAA | 0.109 s | 1.94 MiB | 100 |
用 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 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *