از پیگیری تون ممنوننقل قول:
اینایی که می گین درست
ولی من به کد خودم اطمینان ندارم
ببینید من تابع dfs رو این جوری نوشتم:
استفاده بازگشتی به این صورت درسته؟کد:int bfs(int i,int j, int a)
{ int n;
n=path[a].nm;
if((suc(s.p))|| (sw>1000))
return 1;
if((canmove(i,j)))
{ swap(i,j);
sw++;
path[a].px[++n]=i;
path[a].py[++n]=j;
bfs(i,j+1,a+3);
bfs(i+1,j,a+1);
bfs(i,j-1,a+2);
bfs(i-1,j,a);
}
else
return 0;
}
با توجه به اینکه برنامه رو توی c++ نوشتم
واسه اجراش خیلی محدودیت حافظه دارم
فک کنم مجبور شم تبدیل به c# کنم
اجرا که بیشتر از 1000 میشه سیستم هنگ میکنه واسه همین اون sw رو گذاشتم