私は奇妙な彫刻に接着された六角形の棒の束を持っています。棒の長さは1〜99センチメートル(cm)で、断面積は1平方センチメートルです。すべてのロッドは、六角形の面で少なくとも1本の他のロッドに接着されています。ロッドはすべて下端で揃えられています。
大雨の後、彫刻は水で満たされています。それはどれくらいの水を保持しますか?
入力
プログラムは、(stdinまたはファイルを介して)スペースのペアと次の形式のロッドの長さを指定する数字のペアで構成される行を読み込む必要があります。
aa bb
cc dd ee
ff gg
例に示すように、各ロッド(ここのddなど)は、最大6本の周囲のロッドに接着されています。不足しているロッドは穴であり、水を収集しません。たとえば、入力
04 04
04 01 03
04 04
次の彫刻を表します。
中央の棒は高さです1
(その棒が見える角度が見つかりませんでした)。これで、そのロッドの上のコラム3
は、右側のロッドから溢れる前に2 cmの水を保持できます。他のロッドはどれもその上に水を保持できないため、答えはになります2
。次に、さらに2つの複雑な例を示します。
Example 2:
55 34 45 66
33 21 27
23 12 01 77
36 31 74
answer = 35 ( 2 on top of 21
+11 on top of 12
+22 on top of 01, before everything overflows over 23)
Example 3:
35 36 77 22 23 32 54 24
33 07 02 04 21 54 07 07 07 76
20 04 07 07 01 20 54 11 81 81 07 76
20 67 67 22 07 01 78 54 07 81 07 81 09 76
20 67 07 67 22 22 07 44 55 54 07 81 07 07 61 07 20
67 57 50 50 07 07 14 03 02 15 81 99 91 07 81 04
67 07 50 50 87 39 45 41 34 81 07 07 89 07 81 79
67 07 50 50 07 07 07 27 07 27 81 07 07 79 81 78
20 67 67 07 07 07 07 99 33 46 02 81 07 07 81 01 20
33 07 07 01 05 01 92 20 02 81 07 81 15 32
22 07 20 20 07 20 63 02 80 81 15 32
45 20 01 20 39 20 15 07 15 32
23 20 20 29 43 21 18 41 20 66 66 43 21
90 99 47 07 20
50 20 02 48
70 56 20
90
answer = 1432
出力
プログラムは、水の体積を立方センチメートルで表す単一の整数を出力する必要があります。
スコア
スコアは、ソースコードのバイト数です。最低勝。
通常の標準的な抜け穴は禁止されています。
このパズルは、SPOJの質問に触発されました 。