עוגן האשכול הוסר בתאריך 22.03.08 בשעה 23:15 על-ידי Net_Boy, (סגן מנהל)
הרבה זמן לא היה אתגר והחלטתי להעלות אחד.
אני הכנתי את האתגר והוא לא לקוח מאף מקום ,אז אני אשמח לקבל כל סוג של משוב בסוף האתגר (לטובה או לרעה).הזוכה יקבל WINNER + נקודות למחפשים (לא יודע עדיין כמה , שחן יחזור הוא יחליט)
החידה לא כל כך קלה אבל היא בהחלט מאתגרת ושווה להשקיע זמן ולנסות לפתור אותה (אגב, הייתה חידה די דומה בעבר . זו קצת משודרגת)
היא מורכבת מחלק מתמטי וחלק תיכנותי.
פשוט תנסו לעשות מה שאתם מצליחים. זה לא נורא אם לא פתרתם את הכל.
את החלק התיכנותי ניתן להגיש בכל שפת תיכנות שהיא (מבחינתי עדיף C\C++ אבל כל דבר יתקבל בברכה).
החלק התיכנותי :
נתונה מטריצה בגודל mxn בעלת ערכים 0 או 1. כאשר 0 מסמן נתיב חסום ו1 מסמן נתיב שניתן לעבור בו.
צריך לכתוב פונקציה שמקבלת 2 זוגות קורדינטות שמייצגות תאים במטריצה ולמצוא את כל המסלולים האפשריים בין 2 הזוגות האפשריים כאשר הכיוונים הם : <מעלה,מטה,שמאלה,ימינה> .
עכשיו הפונקציה צריכה להחזיר את כל המסלולים האלו (כלומר מבחינה טכנית זה מערך שמכיל מערכים שמכילים זוגות של מספרים) ואין להשתמש בשום פונקציות עזר.
אין להפוך לגרפים , זו שאלה של מטריצות נטו.
החלק המתמטי :
נתונה מטריצה nxn . יש למצוא נוסחא הנותנת את מספר המסלולים האפשריים בין 2 הנקודות באלכסון הראשי , כאשר ניתן ללכת רק בכיוונים: <מעלה,מטה,שמאלה,ימינה> .
לדוגמא: עבור מטריצה בגודל 2x2 ישנם שתי מסלולים.
עריכה : אסור לחזור לאותה נקודה פעמיים באותו מסלול
בונוס : תהי מטריצה nxn כאשר n מספר אי זוגי. נתון כי התא האמצעי (כלומר, התא בשורה האמצעית ובעמודה האמצעית) חסום. מיצאו עכשיו נוסחא למספר המסלולים.
האתגר יהיה למשך שבועיים שיהיה לכולם המון בהצלחה
אם יש משהו לא ברור בניסוח אני אשמח לתקן ולענות על שאלות !