Pagini recente » Cod sursa (job #110649) | Cod sursa (job #2973167) | Cod sursa (job #3292906) | Cod sursa (job #373047) | Cod sursa (job #3286143)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
int n, k;
int v[20];
bool ok(int i)
{
for(int j=1; j < i; j++)
if(v[j]==v[i])
return false;
if(i > 1)
if(v[i] <= v[i-1])
return false;
return true;
}
bool sol(int i)
{
return i == k;
}
void afis()
{
for(int i=1; i <= k; i++)
fout << v[i] << " ";
fout << '\n';
}
void backtrack(int i)
{
for(int j=1; j <= n; j++)
{
v[i]=j;
if(ok(i))
{
if(sol(i))
afis();
else
backtrack(i+1);
}
}
}
int main()
{
fin >> n >> k;
backtrack(1);
return 0;
}