Pagini recente » Cod sursa (job #415049) | Cod sursa (job #1934580) | Cod sursa (job #1213868) | Cod sursa (job #2477976) | Cod sursa (job #2901818)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int st[20], n, k, i, nrp = 0;
long long l;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
void tipar()
{
for (i = 1; i <= n; i++)
g << st[i] << ' ';
g << '\n';
}
int valid (int k)
{
for (i = 1; i < k; i++)
if (st[i] == st[k]) return 0;
return 1;
}
void backrec (int k)
{
if (k - 1 == n)
{
nrp = 0;
for(i = 1; i <= n; i++)
for(int j = i + 1; j <= n; j++)
if(st[i] > st[j])
nrp++;
if(nrp == l)
{
tipar ();
exit(0);
}
}
else for (int i = 1; i <= n; i++)
{
st[k] = i;
if (valid (k))
backrec (k + 1);
}
}
int main()
{
f >> n >> l;
backrec (1);
return 0;
}