Penyebaran
Pelajaran 31 dari 32 dalam kursus Tantangan Pemrograman di Coddy.
Tantangan
SulitDi sebuah lingkungan, setiap tetangga meniru warna rumah yang dicat abu-abu. Jadi, pada hari beberapa rumah dicat abu-abu, setiap tetangga yang rumahnya berada di sebelah rumah-rumah itu secara horizontal dan vertikal memutuskan untuk mengecat rumahnya dengan cara yang sama. Mereka membutuhkan satu bulan untuk melakukannya. Setelah itu, tetangga yang rumahnya berada di sebelah rumah-rumah tersebut secara horizontal dan vertikal memutuskan untuk melakukan hal yang sama, dan mereka juga membutuhkan satu bulan, begitu seterusnya.
####X ##XXX #XXXX XXXXX
##X## #XXXX XXXXX XXXXX
##### ##X## #XXXX XXXXX
Bln.1 Bln.2 Bln.3 Bln.4
Seperti yang kamu lihat, awalnya hanya dua rumah yang dicat abu-abu ([1,5] dan [2,3]). Setelah satu bulan, 8 rumah dicat abu-abu, yaitu rumah-rumah di atas, di bawah, di kanan, dan di kiri rumah yang sudah dicat. Setelah dua bulan, 13 rumah dicat abu-abu, dan setelah 3 bulan setiap rumah di lingkungan tersebut dicat abu-abu.
Kamu diberi dua bilangan asli H dan W sebagai input, yang mewakili tinggi dan lebar lingkungan. Pada baris berikutnya, kamu diberi bilangan asli N yang mewakili jumlah rumah yang perlu dicat abu-abu. Pada baris berikutnya, kamu diberi bilangan asli M, lalu pada M baris berikutnya kamu diberi dua bilangan X dan Y yang mewakili posisi rumah yang sudah dicat abu-abu.
Tampilkan jumlah bulan yang diperlukan agar total N rumah dicat abu-abu, termasuk rumah yang sudah dicat abu-abu sejak awal.
Input
3 5
7
2
1 5
2 3
Output
1
Penjelasan #1: Kita memiliki contoh yang diberikan dalam teks di atas. Jadi, lingkungan tersebut memiliki tinggi 3 dan lebar 5. Kita perlu menampilkan jumlah bulan yang diperlukan agar total 7 rumah dicat abu-abu. Ada 2 rumah yang sudah dicat abu-abu, yaitu rumah pada posisi [1, 5] dan [2,3]. Jadi, diperlukan satu bulan agar total 7 rumah dicat abu-abu.
Coba sendiri
#include <stdio.h>
int main() {
// Tulis kodemu di sini
return 0;
}
Semua pelajaran di Tantangan Pemrograman
1Pengenalan Kursus
PengenalanLatihan sendiri: Compiler C online