Я маю купу шестикутних стрижнів, склеєних разом із дивною скульптурою. Прути завдовжки від 1 до 99 сантиметрів (см) і площею поперечного перерізу 1 квадратний см. Всі прути приклеюються на шестикутну поверхню принаймні до одного іншого стрижня. Всі прути вирівняні в нижньому краї.
Після сильного дощу скульптура сповнена води. Скільки води утримується?
Вхідні дані
Ваша програма повинна прочитати (через stdin або файл) ряд рядків, що складаються з пар пробілів і пар цифр із зазначенням довжини стрижнів у цьому форматі:
aa bb
cc dd ee
ff gg
Кожен стрижень (як тут тут) приклеюється максимум на 6 навколишніх стрижнів, як показано в прикладах. Пропущені стрижні - це отвори і не збирають воду. Наприклад, вхід
04 04
04 01 03
04 04
буде представляти таку скульптуру:
Центральний стрижень - це висота 1
(я не знайшов гарного кута, де він також видно). Тепер стовпчик над цим стрижнем міг утримувати 2 см води, перш ніж він перепливе над 3
стрижнем праворуч. Оскільки жоден з інших стрижнів не може утримувати над собою жодної води, відповідь буде 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 .