Pagini recente » Cod sursa (job #1333268) | Cod sursa (job #378300) | Cod sursa (job #1920931) | Cod sursa (job #1891628) | Cod sursa (job #2694302)
#include<bits/stdc++.h>
using namespace std;
ifstream fi("BackTraking.in");
ofstream fo("BackTraking.out");
int Xi[]={1,0,-1,0},
Yi[]={0,1,0,-1};
int i,j,k,l,M,N,xx,yy;
int Q[100][100];
bool OK(int x, int y)
{
return(x>0 && x<=N && y>0 && y<=M && !Q[x][y]);
}
void BackTraking(int X, int Y, int q)
{
Q[X][Y]=q;
for(int k=0;k<4;k++)
{
xx=X+Xi[k];
yy=Y+Yi[k];
if(OK(xx,yy))
BackTraking(xx,yy,q+1);
}
}
int main()
{
fi >> N >> M;
for(i=1; i<=N; i++)
for(j=1; j<=M; j++)
fi >> Q[i][j];
BackTraking(1,1,1);
for(i=1; i<=N; i++)
{
for(j=1; j<=M; j++) fo << setw(3) << Q[i][j];
fo << '\n';
}
}