CF1275D Storage2

题目描述

为了在 VKontakte 中可靠而紧凑地存储图片,我们使用了冗余编码技术。所有图片被分成若干组,每组包含 15 张图片,并计算出 13 个冗余码。这些冗余码的作用是在硬盘损坏导致某些图片丢失时,帮助恢复这些图片。 计算冗余码时,首先将 15 张图片排列成一个 3 行 5 列的矩阵。然后,在这个矩阵的右侧添加两列共 6 个冗余码(每行生成一对冗余码),并在下方再添加一行共 7 个冗余码(每列生成一个冗余码)。 我们统称这些图片和冗余码为 "块"。这样,从 15 张图片我们生成了 28 个块,构成了一个 4 行 7 列的矩阵。在本题中,虽然没有给出冗余码的具体计算公式,但提供了一些性质:在同一列中,通过任意 3 个块可以唯一确定并恢复该列中丢失的第 4 个块;在同一行中,通过任意 5 个块可以唯一确定并恢复该行中丢失的 2 个块。显然,可以在不同的行和列中多次应用恢复操作,顺序不限,先前恢复的块也可以用于后续操作。 假如有 28 个块(包含 15 张图片和 13 个冗余码),随机丢失了 $k$ 个块(所有可能的组合均等概率)。你需要计算出至少有一张图片不可恢复的概率,以及不可恢复的图片数量的期望值。

输入格式

输入仅包含一行,表示丢失块的数量,即整数 $k$($0 \le k \le 28$)。

输出格式

输出两个数:至少有一张图片无法恢复的概率,以及不可恢复的图片数量的期望值。 答案要求绝对误差或相对误差不超过 $10^{-9}$。 **本翻译由 AI 自动生成**