本题译自 CCO 2015 Day2 T3「Eggscavation」
度假时间到了!你厌倦了 C shell(编程语言),所以你决定去收集贝壳(Seashell,与 C Shell 同音)。
你决定去游览 Cartesia 国的岛度假。该岛以拥有优美的方形沙滩而著名。该沙滩被划分成 $N\times N$ 的矩阵组成,你带上了你可靠的铲子,你可以用铲子在岛上挖最多 $K\times K$的正方形子矩阵。为了保证你的铲子是可靠的,你所挖的正方形子矩阵要保证所挖的 $K\times K$ 的范围都在沙滩上。
在岛下,有 $M$ 种未探索过的贝壳种类。具体来说,对于每个贝壳种类 $i$,有 $S_i$ 个贝壳在不同的位置。对于每个不同的种类的贝壳,你把它挖出来,然后带回家,然后以每个 $1$ 美元的价格卖给一个科学家。多个同种类的贝壳没有附加价值。
麻烦的是,一种华丽的渡渡鸟在沙滩上跑来跑去。在一个给定时刻,他可能会在一个网格里埋一个蛋,包括那些已经有蛋或者网格的网格。坏消息是,如果你铲子挖出来的 $K\times K$ 的子正方形矩阵里包含渡渡鸟的蛋,科学家会因为你正在危害濒危物种而非常着急,因此没人会给你钱。
想到这些,你决定坐下来,开始写程序,进行模拟挖掘。你将会去计算你的挖掘的可能性,当你在不同时间点以均等可能性选择一个挖掘方案时,需要保证至少一个收入值来偿还你的学生贷款。谁想白忙活一场呢?