QOJ.ac

QOJ

时间限制: 1 s 内存限制: 2048 MB 总分: 100

#5537. 储存鸡蛋

统计

你有一个鸡蛋盒,可以表示为一个 $3 \times N$ 的网格。该网格由 3 行(编号为 1 到 3)和 $N$ 列(编号为 1 到 $N$)组成。位于第 $r$ 行第 $c$ 列的单元格记为 $(r, c)$。每个单元格要么是可用的,要么是不可用的;每个可用单元格最多只能容纳 1 个鸡蛋,而不可用单元格顾名思义无法使用。

你想要在鸡蛋盒的可用单元格中放入恰好 $K$ 个鸡蛋,使得任意两个最近鸡蛋之间的距离最大化。位于单元格 $(r_1, c_1)$ 的鸡蛋与位于单元格 $(r_2, c_2)$ 的鸡蛋之间的距离可以通过欧几里得距离计算,即 $\sqrt{(r_1 - r_2)^2 + (c_1 - c_2)^2}$。

请确定任意两个最近鸡蛋之间的最大可能距离,或者确定是否无法在你的鸡蛋盒中放入 $K$ 个鸡蛋。

输入格式

输入包含两个整数 $N$ 和 $K$ ($1 \le N \le 100; 2 \le K \le 3N$),分别表示鸡蛋盒的列数和鸡蛋的数量。接下来的 3 行,每行包含一个长度为 $N$ 的字符串 $S_r$,由字符 '.' 或 '#' 组成。字符串 $S_r$ 的第 $c$ 个字符表示鸡蛋盒中单元格 $(r, c)$ 的状态。

如果 $S_{r,c} = '.'$,则单元格 $(r, c)$ 是可用的;如果 $S_{r,c} = '\#'$,则单元格 $(r, c)$ 是不可用的。

输出格式

如果可以在你的鸡蛋盒中放入 $K$ 个鸡蛋,则输出一行实数,表示任意两个最近鸡蛋之间的最大可能距离。如果你的答案的绝对误差或相对误差不超过 $10^{-6}$,则被视为正确。

如果无法在你的鸡蛋盒中放入 $K$ 个鸡蛋,则输出 -1。

样例

样例输入 1

5 2
#....
.....
...#

样例输出 1

4.472136

说明 1

任意两个最近鸡蛋之间的最大距离只能通过将鸡蛋放入单元格 $(3, 1)$ 和 $(1, 5)$ 来实现,此时两个(最近)鸡蛋之间的距离为 $\sqrt{20}$。

样例输入 2

5 6
##.##
#####
.....

样例输出 2

1.000000

说明 2

将 6 个鸡蛋放入盒中的方法只有一种;两个最近鸡蛋之间的距离为 1。

样例输入 3

3 4
..#
...
...

样例输出 3

1.414214

说明 3

任意两个最近鸡蛋之间的最大距离可以通过将鸡蛋放入单元格 $(1, 1)$、$(3, 1)$、$(3, 3)$ 和 $(2, 2)$ 来实现。在这种排列中,两个最近鸡蛋的距离为 $\sqrt{2}$,例如单元格 $(1, 1)$ 和 $(2, 2)$ 中的鸡蛋。

另一种得到相同答案的放置方式是将鸡蛋放入单元格 $(1, 2)$、$(2, 1)$、$(2, 3)$ 和 $(3, 2)$。

样例输入 4

2 6
..
.#
..

样例输出 4

-1

说明 4

只有 5 个可用单元格,因此无法在鸡蛋盒中放入 6 个鸡蛋。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.