ABA


"חידה למי שרוצה בנושא ריקורסיה.."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15641 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15641
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק
   23:45   29.12.09   
אל הפורום  
  חידה למי שרוצה בנושא ריקורסיה..  
 
   סביר להניח שחלק מכירים וחלק לא...

בכול מקרה משהוא נחמד שקיבלנו.


צריך לקחת לוח שח מט 8X8 ולהציב בו את המלכות בצורה כזאת שהם לא יאיימו אחת על השניה ולהדפיס את הקומבינציה הזאת.

קיימות 92 קומבינציות .
כמובן שהפתרון הוא ברקורסיה.

מי שרוצה לנסות לפתור שלא יסתכל למטה
הפתרון :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-


/**
* This method is checking a good combination for setting the queens on the board
* in case that none of them i in threat by the others using recursive calls
* @param m - holding the row coordination
* @param n - holding the columns coordination
* @param validSet - holding a boolean value for the valid set
* @param isGoodCombination - holding a boolean value for good combination
*/
public void QueenSets (int m,int n,boolean validSet,boolean isGoodCombination)
{
//stop condition
if (m==8&&isGoodCombination)
{
m_Counter++;
System.out.println ("Solution #"+m_Counter);
System.out.println ("------------");
BoardPrint(); // printing the board
System.out.println ("");
}
else
{
for (;n<ColAndRowNumber;n++) // running on the columns for queen valid set
{
validSet = ValidSet (m,n); // checking if its a valid set
if (validSet)
{
m_Board = 'X'; // setting the queen
if (m<ColAndRowNumber) // checking that the board limits are OK
{
if (m==7) // for the stopping condition
{
isGoodCombination=true;
}
QueenSets (m+1,0,false,isGoodCombination); // recursive call
}
m_Board = 'O'; // clearing the board from the queen
}
}
}

}

X מסמן את המלכות בלוח
O מסמן את מקומות הרייקים



                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  זאת שאלה ידועה. Deuce  30.12.09 02:10 1
     =] Yariv-H 30.12.09 09:27 2
  8 המלכות.. מוכר :). ronen333  30.12.09 16:43 3
  דיי בטוח שפרסמתי לזה פה פתרון לפני כמה שנים :) ldan192  30.12.09 18:02 4

       
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   02:10   30.12.09   
אל הפורום  
  1. זאת שאלה ידועה.  
בתגובה להודעה מספר 0
 
רקורסיה זה אפילו שם קצת כללי לבעיות כאלה.
אפשר להתייחס לזה כפתרון באמצעות BACKTRACKING,DFS,BFS - בכל אופן, אני לא חושב שמדובר בשאלה רקורסיבית קשה במיוחד






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק
   09:27   30.12.09   
אל הפורום  
  2. =]  
בתגובה להודעה מספר 1
 
   למתחילים זה בסדר גמור =] תאמין לי=]



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   16:43   30.12.09   
אל הפורום  
  3. 8 המלכות.. מוכר :).  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   18:02   30.12.09   
אל הפורום  
  4. דיי בטוח שפרסמתי לזה פה פתרון לפני כמה שנים :)  
בתגובה להודעה מספר 0
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net