Se dă un labirint reprezentat sub forma unei matrici cu n linii şi m coloane, conţinând doar valori 0 şi 1. O succesiune de 1 reprezintă un drum iar o reprezintă zid. Dintr-un punct iniţial, a cărui coordonate se citesc, porneşte o persoană. Să se afişeze toate posibilităţile ca acea persoană să iasă din labirint (să atingă una din marginile matricei), ştiind că deplasarea se poate face doar prin valori 1 ale matricei, iar salturile se pot face în stânga, dreapta, jos şi sus.
#include "stdio.h"
#include "conio.h"
//matricea a conţine valorile labirintului iar în matricea rez vom păstra drumul
//parcurs în cadrul unei posibile soluţii
int a[10][10],rez[10][10],n;
void scrie(void)
{
int i,j;
for(i=0;i < n;i++)
{
//afişăm matricea drumului de ieşire; succesiunea de 1 reprezintă drumul
for(j=0;j < n;j++)
printf("%d",rez[i][j]);
putchar("\n");
}
putchar("\n");
//după fiecare soluţie se aşteaptă apăsarea unei taste
getch();
}
Continue reading