Skip to content

הסבר על Mosaic Decoration I

מה רוצים בתרגיל

איש בשם זאפריי גר באחוזה גדולה שיש בה N חדרי שירותים.
הוא רוצה לקשט את קירות האמבטיה באמצעות אריחי פסיפס בשני צבעים: שחור וורוד.
כל חדר אמבטיה(Ith) צריך מספר אריחים שחורים(Bi) ומספר אריחים ורודים(Pi).
אבל הוא יכול לקנות את האריחים רק בחבילות של 10.
חבילה של10 שחורים עולה Cb דולר ושל 10 ורודים עולה Cp דולר.
כמה יעלה לו לקנות אריחים בשביל N חדרי שירותים?

קלט

בשורה הראשונה קולטים כמה חדרי שרותים(N) יש וכמה עולות חבילות של 10 שחורים(Cb) ו10 ורודים(Cp).
שאר השורות זה ככמות החדרי שירותים שיש(N שורות) ובכל שורה יש כמה אריחים שחורים(Bi) וכמה אריחים ורודים(Pi) כל חדר שירותים צריך.

התשובה שצריך להדפיס

כמות הכסף שהבנאדם צריך להוציא על האריחים

איך פותרים

בגלל שאפשר לקנות בדיוק 10 אריחים כל פעם אז גם אם נגיד אתה צריך 43 אריחים אז אתה תקנה 50.
לכן נעשה את כמות האריחים שצריך מודולו 10 כדי לגלות אם קיבלנו כמות בעשרות או לא(10,20,30).
אם קיבלנו מספר בעשרות אז רק נחלק ב10 כדי לחשב את כמות החבילות שצריך לקנות ונוסיף את התוצאה למשתנה שאוגר את התוצאה.

if black_pile%10 == 0:
    sum += black * black_pile/10

אם המספר לא בעשרות(לדוגמא 43,55,3 וכו') אז נחלק ב10 ניקח את המספר שיצא לפני הנקודה ונוסיף לו אחד כי צריך חבילה נוספת ונוסיף את התוצאה למשתנה שאוגר את התוצאה

else:
    sum += black * (int(black_pile/10)+1)
if pink_pile % 10 == 0:

נעשה את זה בלולאה לפי כמות הN לשני סוגי האריחים וזהו