Rozprzestrzenianie
Lekcja 31 z 32 w kursie Zadania programistyczne w Coddy.
Wyzwanie
TrudnyW 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
1Wprowadzenie do kursu
Wprowadzenie4Wysoki poziom trudności
ChodzeniePiłka nożnaLiczba zimowaSzachyCyfraTelewizjaNajwiększy dzielnikRozprzestrzenianieDzielnikiPoćwicz samodzielnie: Kompilator C online