Documente Academic
Documente Profesional
Documente Cultură
Problema model:
Intr-un labirint se află un șoricel şi o bucată de cașcaval. Şoricelul doreşte să ajungă la caşcaval
efectuând un număr minim de paşi. La un pas şoricelul se poate deplasa în una dintre poziţiile
învecinate (sus, jos, stânga, dreapta), evident dacă acolo este culoar de trecere.
Exemplu:
6 10 Drumul este colorat
1111011111
1101011001 1111011111
1101011111 1101011001
1100000000 1101011111
1111010011 1100000000
1111010011 1111010011
4366 1111010011
Se va afișa 6
Listingul programului
#include<fstream>
using namespace std;
int a[100][100],v[100][100];
int m,n;
//m,n dimensiunile matricii
const int dx[]={0,0,0,1,-1};
const int dy[]={0,1,-1,0,0}; //am presupus ca se poate merge in 4 directii: sus, jos, st,dr
int cx[400],cy[400]; //coada
if (xx==xf&&yy==yf)
return a[x][y]+1;
int main()
{
int i,j,xi,yi,xf,yf;
//xi yi=pozitiile initiale
//xf,yf=pozitiile finale
ifstream cin("lee.in");
ofstream cout("lee.out");
cin>>n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
cin>>v[i][j];
cin>>xi>>yi>>xf>>yf;
cout<<lee(xi,yi,xf,yf)<<'\n';
Aplicații :