התגובות שלי בפורום
-
מאתתגובות
-
Olimpus teamמשתתף
כותרת: הצעה נוספת ל cgx-2
כל שורד יקבל באחד מהאוגרים את מיקומו היחסי בטבלה של הניקוד (או האם הוא במגמת שיפור) לפני תחילת הסיבוב. כך יוכל לשנות אסטרטגיה /פרמטרים בין הסיבובים.Olimpus teamמשתתףכותרת: מוכן לעזור בכתיבת המנוע ב c++ (צור איתי קשר)
Olimpus teamמשתתףכותרת: מוכן לעזור ב
Olimpus teamמשתתףכותרת: פרטים שלי
EvgeniNogin@gmail.com
ICQ:177-706-708
זו הפעם הראשונה שלי בתחרות ואני די מרוצה (:
מקום 10Olimpus teamמשתתףכותרת: מזל טוב לזוכים! ומתי אם אפשר לדעת יהיה הטקס?
Olimpus teamמשתתףכותרת: הסבר
הפונקציה S בודקת האם במספר יש יותר מסיבית אחת או אפסהלולאה עם J בודקת:
1. שכל בית ב i הוא בעל סיבית אחת דלוקה (בעזרת m1
2. שבכל בית הסיבית הדלוקה היא במיקום שונה (בעזרת m2 )ולכן הפונקציה r מוצאת את כל הקומבינציות הללו שמספרן הוא 8 עצרת
Olimpus teamמשתתףכותרת: 8 עצרת (40320)
Olimpus teamמשתתףכותרת: LOL הפורום מסרב לכתוב (++i<N; i
Olimpus teamמשתתףכותרת: זו שגיאה של הפורום(: יש הגדלה ויש הגבלה. מתוקן:
int solve(int m[W][H],int x,int y,int n)
{
static int rel_moves[N][2]={
{-5,0},{5,0},{0,-5},{0,5},
{-3,4},{3,4},{3,-4},{-3,-4},
{-4,3},{4,3},{4,-3},{-4,-3}
};
if(n>=W*H) return 1;
for(int i=0;i<N;i++)
{
int cx=x+rel_moves[0];
int cy=y+rel_moves[1];
if((cx>=0)&&(cx=0)&&(cy<=H)&&(m[cx][cy]<0))
{
m[cx][cy]=n;
if( solve(m,cx,cy,n+1) ) return 1;
else m[cx][cy]=-1;
}
}
return 0;
}
Olimpus teamמשתתףכותרת: העלתי. ראה קישור
Olimpus teamמשתתףכותרת: והנה פתרון ב c
enum{W=8,H=8,N=12};
int solve(int m[W][H],int x,int y,int n)
{
static int rel_moves[N][2]={
{-5,0},{5,0},{0,-5},{0,5},
{-3,4},{3,4},{3,-4},{-3,-4},
{-4,3},{4,3},{4,-3},{-4,-3}
};
if(n>=W*H) return 1;
for(int i=0;i<N;i++)
{
int cx=x+rel_moves[0];
int cy=y+rel_moves[1];
if((cx>=0)&&(cx=0)&&(cy<=H)&&(m[cx][cy]<0))
{
m[cx][cy]=n;
if( solve(m,cx,cy,n+1) ) return 1;
else m[cx][cy]=-1;
}
}
return 0;
} -
מאתתגובות