
07-10-2006, 14:57
|
|
|
|
חבר מתאריך: 28.06.06
הודעות: 150
|
|
לא שיש לי ידע נרחב באלגוריתמים, אבל מכיוון שאפשר להניח כהנחת יסוד שבהתחלה שתי החיות והחסה נמצאות בגדה אחת, הייתי מגדיר מערך[3] בשם גדה1, כאשר מיקום 0 שמור לחסה, מיקום 1 שמור לכבשה ומיקום 2 שמור לזאב.
בגדה השנייה הסידור לא צריך להיות שונה, לכן מערך[3] בשם גדה2, כאשר כל המיקומים ריקים, יעבוד.
אחרי שיש לי את המבנה הזה, השאר לא מסובך :
בגירסא שאני מכיר את החידה, הזאב לא יאכל את הכבשה, והכבשה לא תאכל את החסה כשהשייט נמצא בגדה שהם נמצאים בה.
לכן, משתנה בשם שייט ישמור בתוכו את המיקום של השייט (גדה 1 או 2).
מכאן אתה יכול להגדיר פונקציה שבודקת האם קיימת אכילה (גדה#[0] וגם גדה#[1], או גדה#[1] וגם גדה#[2] נמצאים באותה הגדה כאשר השייט נמצא בגדה השנייה) ולהשתמש בה בכל פעם שאתה מעביר את השייט גדה.....
לא למדתי מחשבים בבית הספר ולכן לא יודע לרשום אלגוריתמים, אבל מקווה שעזרתי.
|