ivovtr Публикувано Март 16, 2009 Report Share Публикувано Март 16, 2009 Здравейте! Търся решение на задача написана на C/C++ , paskal. Условието е: Да се състави програма, реализираща излизане от лабиринт. Лабиринтът е зададен като матрица A[40,40], в която A[i,j]=0, ако клетката е проходима, и A[i,j]=1, ако клетката е не проходима. Началното положение е в произволна проходима клетка. Изходът също е в произволна проходима клетка, която е гранична, т.е. i или j са равни на 1 или 40. Обхождането да бъде реализирано посредством обхождане в дълбочина. Да се намери най-краткия път от излизане от лабиринта, ако има повече от един изход. аз имам примерни решения за самия алгоритъм но за масива немие ясно?//Алгоритъм за обхождане в дълбочина на неориентиран граф const int nmax=80; const int kmax=nmax*(namx-1)/2; struct listel { liste*next; int vertex; }; typedef listel* tnchl[nmax]; struct tgr_semi { int nvert; int nedg; tnc hl begl; }; int i=0; void dfs (tgr_semi g, int , listel * dfsnum[]) { listel*p; dfsnum[u]->vertex=i; i++; p=g.begl[u]; while (p!=NULL) { u=p->vertex; p=p->next; if(dfsnum[u]->vertex==0) dfs(g,u,dfsnum); } Цитирай Link to comment Сподели другаде More sharing options...
dakan Публикувано Май 30, 2009 Report Share Публикувано Май 30, 2009 Още ли те интересува може да се захвана? Какво и от къде взе задачата училище, университет ? Цитирай Link to comment Сподели другаде More sharing options...
Препоръчан пост
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.