Spreading
الدرس 31 من 32 في دورة مسائل برمجية على Coddy.
التحدي
صعبفي أحد الأحياء، يقوم كل جار بنسخ لون المنازل المصبوغة باللون الرمادي. لذلك، في اليوم الذي يتم فيه صبغ بعض المنازل باللون الرمادي، يقرر كل جار بجوار تلك المنازل أفقياً وعمودياً صبغ منزله بنفس الطريقة. يحتاجون إلى شهر واحد للقيام بذلك. بعد ذلك، يقرر أصحاب المنازل المجاورة لهم أفقياً وعمودياً القيام بنفس الشيء، ويستغرقون شهراً واحداً أيضاً، وهكذا.
####X ##XXX #XXXX XXXXX
##X## #XXXX XXXXX XXXXX
##### ##X## #XXXX XXXXX
Mo.1 Mo.2 Mo.3 Mo.4
كما ترون، في البداية تم صبغ منزلين فقط باللون الرمادي ([1,5] و [2,3]). بعد شهر، تم صبغ 8 منازل باللون الرمادي، وهي المنازل الموجودة فوق وتحت ويمين ويسار المنازل المصبوغة بالفعل. بعد شهرين، تم صبغ 13 منزلاً باللون الرمادي، وبعد 3 أشهر، تم صبغ كل منزل في الحي باللون الرمادي.
يتم إعطاؤك عددين طبيعيين H و W من المدخلات، يمثلان ارتفاع وعرض الحي. في السطر التالي، يتم إعطاؤك عدداً طبيعياً N يمثل عدد المنازل التي يجب صبغها باللون الرمادي. في السطر التالي، يتم إعطاؤك عدداً طبيعياً M، وفي الأسطر M التالية، يتم إعطاؤك عددين طبيعيين X و Y يمثلان مواقع المنازل المصبوغة بالفعل باللون الرمادي.
اطبع عدد الأشهر اللازمة ليصل إجمالي المنازل المصبوغة باللون الرمادي إلى N (بما في ذلك المنازل التي تم صبغها في البداية).
Input
3 5
7
2
1 5
2 3
Output
1
Explanation #1: لدينا المثال المذكور في النص أعلاه. لذا، يبلغ ارتفاع الحي 3 وعرضه 5. نحتاج إلى معرفة عدد الأشهر اللازمة لصبغ ما مجموعه 7 منازل باللون الرمادي. هناك منزلان مصبوغان بالفعل باللون الرمادي في الموقعين [1, 5] و [2,3]. لذا، يلزم شهر واحد لصبغ ما مجموعه 7 منازل باللون الرمادي.
جرّب بنفسك
#include <stdio.h>
int main() {
// اكتب الكود هنا
return 0;
}
جميع دروس مسائل برمجية
1Course Introduction
Introduction