Проблема
Сценарій кінця світу описується трьома цифрами на одній лінії, n
, m
і p
. За цим рядком знаходяться n
рядки зі m
значеннями на рядок. Кожне значення являє собою загальну кількість одиниць води, яку може містити кожна клітина.
Наступні p
рядки описують погоду на наступні p
дні. 1 одиниця дощу випадає на одну клітинку щодня. Якщо кількість води в клітині перевищує кількість, яку вона може утримувати, ця клітина затоплюється. Якщо декілька сусідніх комірок працюють на повну потужність, вони розглядаються як одна комірка, яка розділяє загальних сусідів (подумайте, що трапився, якщо натиснути на групу заготовок).
- В одній середній клітині є 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 4
4 1 1 2 2
4 4 1 2 2
4 4 2 2
0 0
1 2
4 3
0 0
означає, що дощ на рядок 1, стовп 11 2
означає, що він дощив на ряду 2, стовпчик 3 (який може утримувати нульову воду і негайно затоплювати!)
Після p
днів дощу, якщо місто повністю затоплене, виведіть Раковину . В іншому випадку виведіть Swim .
Приклад Вихід
Плавати
Припущення
- Введення може бути надано через stdin, прочитане з "city.txt" або прийняте як аргумент. Усім трьом дозволено, щоб не визнати недійсними жодні опубліковані відповіді.
- Водомісткість буде невід’ємними цілими числами.
40+ колективів студентів нижчих класів (від A&M, UT, LSU, Rice, Baylor та ін.), Які змагались у конкурсі програмування з різними доступними мовами, не могли вирішити цю проблему за 5 годин. Через це я не можу не зазначити, що в цій головоломці є улов, що робить рішення тривіальним. Найкоротший код все-таки виграє, тому що я впевнений, що найкоротший код також вирішить головоломку.
0.25
одиницями, до кожної сусідньої комірки (якщо припустити одну середню затоплену клітинку)?
n
лініїm
значень чи навпаки? Ваш приклад не відповідає письмовій специфікації.