graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

KAT 2023/2024

[H2] Problem B: Lochy
Data zakończenia: 2024-01-23 11:45
Języki: c cpp
Limit czasu: 3.0 s
Limit pamięci: 16 MB
Limit rozmiaru rozwiązania: 300 kB

W pewnym państwie rządził dobry i sprawiedliwy król. Uczciwych ludzi nagradzał, natomiast złych karał. Najsurowszą karą było wtrącenie do więzienia. Nie było to jednak zwykłe więzienie, lecz wykute w skałach, podziemne lochy z komorami dla skazanych. Każda cela ma kwadratową podłogę (o powierzchni 1 m2) i sufit położony 5 metrów wyżej, jednak nie ma ścian.

Więzienie można przedstawić jako prostokąt o rozmiarze n na m, który posiada n*m komór. Więzienie jest ograniczone z 4 stron skałami, w których zostało wykute (dotyczy to cel położonych na brzegach). Co więcej, komory mogą być wykute na różnej głębokości.

W związku z brakiem ścian, komory mogą nie być od siebie odseparowane: jeśli dwie sąsiednie cele są wykute na tej samej lub podobnej głębokości (podłoga jednej z komór powyżej podłogi drugiej komory, ale poniżej jej sufitu), to między nimi istnieje fragment wolnej przestrzeni. W przeciwnym razie, gdy głębokości dwóch sąsiednich cel znacznie się różnią, są one od siebie odseparowane skałami, w których zostały wydrążone.

W jednej z cel odbywa wyrok pewien słynny rozbójnik. Już w momencie skazania rozmyślał on nad planem ucieczki. Mieli mu w tym pomóc jego kompani, którzy byli na wolności i uciekali skuteczniej od ręki sprawiedliwości. Plan zakładał przekopanie się pod ziemią. Wszystko było dopięte na ostatni guzik...

Niestety w dniu planowanej akcji okolicę nawiedziło silne trzęsienie ziemi. Zmodyfikowało ono przepływ wód podziemnych. Rozbójnik zauważył, że ze skalnej podłogi w jego celi zaczyna wypływać woda. On, skrępowany, nie będzie w stanie nawet pływać i może utonąć! Błyskawicznie ocenił tempo z jakim woda wpływa do lochu.

Za ile czasu utonie? Wiadomo, że wszystkie cele (z wyjątkiem leżących na brzegach lochu) mają po osiem sąsiednich cel (cztery po bokach i cztery na skosach). Woda zawsze dąży do wyrównania swego poziomu w komorach, w których występuje (chyba, że ogranicza ją sufit). Wiadomo, że natychmiast spływa ona z danej komory do niżej położonych sąsiednich komór jeśli jej podłoga leży niżej niż su t sąsiednich cel. Woda może również przelewać się z danej celi do sąsiednich wyżej położonych komór, jeżeli poziom wody w danej komorze wystarczająco się podniesie (powyżej podłogi sąsiednich cel). W przypadku, gdy sąsiednie komory leżą na takiej samej wysokości, to będą one wypełniać się wodą tak samo szybko.

Rozbójnik siedzi skuty łańcuchami i obliczył, że utonie, gdy poziom wody w jego celi osiągnie metr. Czas leci, a wody przybywa! Czy zbójcy zdążą przekopać się i uratować kompana? Napisz program, który oceni ile wody musi napłynąć, by rozbójnik utonął.


Wejście

Dane podawane są na standardowe wejście. W pierwszym wierszu podana jest liczba N (1 ≤ N ≤ 20) zestawów danych. Dalej podawane są zestawy danych zgodnie z poniższym opisem:


Jeden zestaw danych

W pierwszej linii zestawu danych podane są liczby n i m (1 ≤ n; m ≤ 500) oznaczające wymiary prostokątnego więzienia. W kolejnych n wierszach podane jest po m liczb całkowitych oddzielonych spacjami i oznaczających głębokość pod ziemią danej komory (a dokładnie położenie jej su tu). Głębokość przedstawiona w metrach jest liczbą całkowitą należącą do przedziału <1, 1000>. W ostatnim wierszu znajdują się dwie liczby całkowite oraz j (1 ≤ i ≤ n; 1 ≤ j ≤ m) oznaczające położenie komory rozbójnika (i - numer wiersza, j – numer kolumny).


Wyjście

Wyniki programu powinny być wypisywane na standardowe wyjście. W kolejnych wierszach należy podać odpowiedzi obliczone dla kolejnych zestawów danych. Wynikiem dla jednego zestawu ma być liczba całkowita oznaczająca ilość wody (w m3), której napłynięcie spowoduje utonięcie rozbójnika.


Przykład
Dane wejściowe
3
3 3
1 3 5
6 9 8
1 1 3
1 1
4 4
8 8 5 5
9 8 3 3
2 2 2 2
2 2 2 2
1 1
3 3
2 2 2
2 1 2
2 2 2
2 2

Wynik
24
5
17
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego