לא חובה כמובן...
אבל למה לא לממש קלאס של RUSH HOUR
שמחזיק משתנים של
float start
float endואז יש כמה דרכים לפתרון (יש מלא דרכים)
אתה יכול לממש אופרטור השוואה של גודל
כלומר > או <
ואז יש לך 2 תאים לבדוק בכל מקרה
1. אם 2 RUSHHOUR מתחילים באותו הזמן, אז:
2. אם הRUSHHOUR החדש גדול מהישן, אז הישן עף מהSTACK והחדש נכנס פנימה
ולהפך
1. אם RUSHHOUR החדש מתחיל לפני הRUSHHOUR הקודם
אז אם הוא יותר גדול - בוודאות הוא צריך להכנס לSTACK
אם הוא שווה בגודל - אז צריך ליצור אובייקט חדש של RUSHHOUR שההתחלה שלו היא של הRUSHHOUR החדש והסיום שלו הוא הRUSH HOUR הישן
וכן הלאה...
הבנת את הפואנטה
את הכל אתה יכול להחזיק בVECTOR מתוך STL
תכלס, אני לא חושב שזה בהכרח יותר פשוט, או יותר נכון
אבל זה תרגול טוב לC++
גם העמסת אופרטורים, גם עבודה עם STL, גם בניה של קלאס(אם אתה לא זוכר איך)
וכו...
מבחינת יעילות ואלגוריתם, לא חשבתי על זה לעומק יותר מידי, יכול להיות שיש דרכים יותר יעילות.
Tears Will Get You Sympathy,
Sweat Will Get You Results!