Cod sursa(job #2694302)

Utilizator Hey_HeyIacovlev Denis Hey_Hey Data 8 ianuarie 2021 18:44:13
Problema Generare de permutari Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#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';
	}
}