问题
甲最坏的情况是由三个数字在一行中描述,n
,m
,和p
。在该行之后是每行n
具有m
值的行。每个值代表每个单元格可以容纳的总水量。
以下几p
行描述了接下来p
几天的天气。每天有1单位降雨落在一个单元格上。如果一个单元格中的水量超过了它可以容纳的数量,该单元格就会泛洪。如果多个相邻单元格已满,则将它们视为共享公共邻居的一个单元格(单击一组空白时请考虑Minesweeper)。
- 一个中间单元有4个邻居
- 两个相邻的满容量中间电池被视为一个具有6个相邻电池的电池
- 一个角单元有2个邻居
- 一个壁单元有3个邻居
单元泛洪时,会发生泛洪事件。所有多余的水平均分配给其邻居。如果那导致一个或多个邻居泛洪,则发生另一泛洪事件。这种情况一直持续到水已经沉淀或城市完全被洪水淹没为止。
输入示例
7 5 3
3 2 3 4 5
2 2 0 3 4
1 1 2 3 3
4 1 2 2 2
4 1 1 2 2
4 4 1 2 2
4 4 2 2 2
0 0
1 2
4 3
0 0
表示在第1列第1行下雨了1 2
表示在第2列第3行下了雨(可以容纳零水,立即洪水!)
经过p
几天的降雨,如果城市完全被洪水淹没,请输出Sink。否则,输出Swim。
示例输出
游泳
假设条件
- 输入可以通过stdin提供,从“ city.txt”中读取或接受为参数。允许所有这三个,以免使已经发布的答案无效。
- 水容量将为非负整数。
40多个本科生大学生团队(来自A&M,UT,LSU,Rice,Baylor等)以各种可用语言参加编程竞赛,在5个小时内无法解决此问题。因此,我不得不提到这个难题有一个陷阱,使解决方案变得微不足道。最短的代码仍然可以胜出,因为我相信最短的代码也可以解决难题。
0.25
单位为单位分布到每个相邻的小区(假设有一个中间的淹没小区)?
n
线m
还是相反?您的示例与书面规范不符。