Menu
CoddyTech

Penyebaran

Pelajaran 31 dari 32 dalam kursus Tantangan Pemrograman di Coddy.

challenge icon

Tantangan

Sulit

Di 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

Latihan sendiri: Compiler C online