פורסם ב זה רק קוד, מתכוננות לראיונות

בעיית פינוי הסנאט

זמן קריאה: 16 דקות

השאלה הבאה לקוחה ממאגר השאלות של Google Code Jam, ואתן יכולות לנסות לפתור אותה כאן.

השאלה הולכת ככה – 
שריפה פרצה בסנאט האמריקאי (אבוי!) וצריך לפנות משם את כל הסנטורים. במקום נמצאים סנטורים מ-N מפלגות שמסומנות באותיות A-N ובכל שלב של הפינוי אפשר להוציא עד שני סנטורים.
במהלך הפינוי הסנטורים עדיין יכולים להצביע על חוקים (כל כך שמחה שאני מתכנתת ולא פוליטיקאית!) ולכן צריך לוודא שבכל שלב של הפינוי אין אף מפלגה שחבריה מהווים יותר מ-50% מהקולות שנשארו בסנאט הבוער.
המטרה היא למצוא תוכנית פינוי שמקיימת את התנאים ומובטח לי שקיימת תוכנית כזו.

להמשיך לקרוא "בעיית פינוי הסנאט"
פורסם ב זה רק קוד, מתכוננות לראיונות

איחוד פגישות

זמן קריאה: 13 דקות

נתונה רשימה של אובייקטים מסוג Meeting.
כל אובייקט מתאר פגישה, ומכיל זמן התחלה וזמן סיום. זמני ההתחלה והסיום הם מספר הבלוקים של חצי שעה אחרי 9 בבוקר.
כלומר, פגישה שמתחילה ב-10 ונגמרת ב-12 תהיה (Meeting(2,6 ופגישה שמתחילה ב-12 ונגמרת ב-13:30 תהיה (Meeting(6,9.
המשימה היא לכתוב פונקציה שמקבלת רשימה לא ממוינת של פגישות ומאחדת אותן כך שכל הפגישות שחופפות בזמנים יאוחדו לפגישה אחת.

להמשיך לקרוא "איחוד פגישות"