Pagini recente » Cod sursa (job #1271482) | Cod sursa (job #1939552) | Cod sursa (job #450977) | Cod sursa (job #2241441) | Cod sursa (job #3244573)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "damesah.in" );
ofstream fout( "damesah.out" );
#define MAXN 13
int v[MAXN + 1], n, f[MAXN + 1], gasit, ans;
int verif( int k ) {
int i = 1;
while( i < k && abs( v[i] - v[i + 1] ) > 1 )
i++;
return ( i == k );
}
void bkt( int k ) {
int j, i;
if( k >= n + 1 && verif( k ) ) {
if( !gasit ) {
for( j = 1; j <= n; j++ )
fout << v[j] << ' ';
fout << '\n';
gasit = 1;
}
ans++;
} else {
for( i = 1; i <= n; i++ ) {
if( !f[i] ) {
f[i] = 1;
v[k] = i;
bkt( k + 1 );
f[i] = 0;
}
}
}
}
int main() {
fin >> n;
gasit = ans = 0;
bkt(1);
fout << ans;
return 0;
}