Menu
Coddy logo textTech

Rozprzestrzenianie

Lekcja 31 z 32 w kursie Zadania programistyczne w Coddy.

challenge icon

Wyzwanie

Trudny

W pewnej dzielnicy każdy sąsiad naśladuje kolor domów pomalowanych na szaro. Dlatego w dniu, w którym niektóre domy zostaną pomalowane na szaro, każdy sąsiad mieszkający obok nich w poziomie lub w pionie postanawia pomalować swój dom w ten sam sposób. Zajmuje im to miesiąc. Następnie domy położone obok nich w poziomie lub w pionie postanawiają zrobić to samo i również zajmuje im to miesiąc, i tak dalej.

####X        ##XXX       #XXXX        XXXXX
##X##        #XXXX       XXXXX       XXXXX
#####         ##X##       #XXXX        XXXXX
 Mies.1            Mies.2           Mies.3           Mies.4

Jak widać, na początku tylko dwa domy są pomalowane na szaro ([1,5] i [2,3]). Po miesiącu 8 domów jest pomalowanych na szaro — tych znajdujących się nad, pod, po prawej i po lewej stronie już pomalowanych domów. Po dwóch miesiącach 13 domów jest pomalowanych na szaro, a po 3 miesiącach wszystkie domy w dzielnicy są pomalowane na szaro.

 

Na wejściu podane są dwie liczby naturalne H i W, reprezentujące wysokość i szerokość dzielnicy. W następnej linii podana jest liczba naturalna N, reprezentująca liczbę domów, które należy pomalować na szaro. W kolejnej linii podana jest liczba naturalna M, a w następnych M liniach podane są dwie liczby naturalne X i Y, reprezentujące pozycje domów, które są już pomalowane na szaro.

Wypisz, ile miesięcy potrzeba, aby łącznie N domów było pomalowanych na szaro (wliczając domy, które początkowo są pomalowane na szaro).

 

Wejście
3 5
7
2
1 5
2 3

Wyjście
1

Wyjaśnienie #1: To przykład przedstawiony w powyższym tekście. Dzielnica ma wysokość 3 i szerokość 5. Należy wypisać, ile miesięcy potrzeba, aby łącznie 7 domów było pomalowanych na szaro. Dwa domy są już pomalowane na szaro; znajdują się na pozycjach [1, 5] i [2,3]. Zatem potrzeba jednego miesiąca, aby łącznie 7 domów było pomalowanych na szaro.

Spróbuj swoich sił

#include <stdio.h>

int main() {
    // Napisz kod tutaj
    return 0;
}

Wszystkie lekcje w sekcji Zadania programistyczne

Poćwicz samodzielnie: Kompilator C online