Pagini recente » Cod sursa (job #2435024) | Cod sursa (job #2371774) | Cod sursa (job #284726) | Cod sursa (job #2937757) | Cod sursa (job #1217362)
#include<fstream>
using namespace std;
int i, j, x[23], f[23], nrsol, n, d, ii, jj, fs[50], fp[60];
FILE*fin=fopen("dh.in","r");
ofstream fout("dh.out");
int di[2] = { 1,1};
int dj[2] = {-1,1};
void rec(int k){
if(k==n+1){
nrsol++;
if(nrsol==1){
for(j=1; j<=n; j++)
fout<<x[j]<<" ";
fout<<"\n";
}
return;
}
for(int i=1; i<=n; i++){
if (f[i] == 0 && fs[i+k]==0 && fp[n+i-k]==0) {
x[k]=i;
f[i] = 1;
fs[i+k]++;
fp[n+i-k]++;
rec(k+1);
f[i] = 0;
fs[i+k] --;
fp[n+i-k] --;
}
}
}
int main(){
fscanf(fin,"%d", &n);
rec(1);
fout<<nrsol;
return 0;
}