פתרון לCrafting Wooden Tables
מה רוצים בתרגיל
בחורה בשם רולן רוצה לבנות שולחנות מעץ.
בשביל לבנות שולחן צריך C חתיכות עץ.
רולן הלכה לחטוב חתיכות עצים בשביל לבנות את השולחן.
כדי לשמור את חתיכות העצים או את השולחנות שהיא בונה היא לקחה איתה רצועה עם N כיסים.
כל כיס ברצועה יכול להכיל מקסימום P חתיכות עצים או שולחן עץ אחד.
רולן חטבה w חתיכות עצים.
כמה שולחנות היא יכולה לבנות איתם ולאכסן אותם ברצועת כיסים כאשר היא משתמשת בכל חתיכות העץ או מאכסנת אותם בכיסים
ולא חורגת מהכמות המקסימלית של חתיכות העץ שמותר לשים בכל כיס.
קלט
יש שורה אחת המכילה את כמות חתחיכות העץ שצריך בשביל להכין שולחן(C),מספר הכיסים(N), כמות חתיכות העץ שאפשר לשים בכל כיס(P) וכמות חתיכות העץ שיש לרולן(w).
התשובה שצריך להדפיס
מספר השולחנות שרולן יכולה ליצור שהם והחתיכות עץ שנשארו יכנסו לכיסים
איך פותרים
זה תרגיל מחורבן אחושרמוטה אני אנסה להסביר.
אנו צריכים לחשב מה היא הכמות המקסימלית של שולחנות שאפשר לבנות מהעצים שיש ברשותינו בהתחשב בכמות הכיסים שאנו יכולים לאחסן שולחנות ועצים.
בכדי לעשות זאת האלגוריתם יוצר שולחן אחד ממקם אותו בתא ובודק אם יכול לאחסן את שארית העץ בתאים הלא תפוסים.
אם כן הוא מוסיף לכמות השולחנות שאפשר ליצור 1 וחוזר על אותם פעולות שוב אם כמות העצים וכמות הכיסים שנשארו,כך שוב ושוב עד שנגמרו העצים או עד שנגמר השטח אחסון.
במידה ונגמר מקום האחסון
מקרי קצה
הקוד לא יעבור זמני ריצה אם לא נתייחס למספר מקרי קצה:\ 1)אם מספר המקסימאל שאפשר לשים בכיס שווה לכמות חתיכות העץ שצריך בשביל להכין שולחן