Pagini recente » Cod sursa (job #2539155) | Cod sursa (job #1073959) | Cod sursa (job #1262660) | Cod sursa (job #2930559) | Cod sursa (job #623642)
Cod sursa(job #623642)
#include<fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
#define INF 999999
int n, k;
int x[100001];
bool s[100001];
int sol[100001];
bool ok1;
void Solve( int q);
int main()
{
fin >> n >> k;
ok1 = true;
Solve( 1 );
for( int i = 1; i <= n; ++i )
fout << sol[i] << ' ';
fin.close();
fout.close();
return 0;
}
void Solve( int q )
{
if( ok1 == false )
return;
if( x[q] == 0 )
{
x[q] = INF;
sol[q] = INF;
}
bool ok = true;
for( int i = 1; i <= n; ++i )
if( !s[i] )
{
s[i] = true;
ok = false;
x[q] = i;
Solve( q+1);
s[i] = false;
}
if( ok )
{
int nr = 0;
for( int j = 1; j < n; ++j)
for( int j1 = j + 1; j1 <= n;++j1 )
if( x[j] > x[j1] )
nr++;
if( nr == k )
{
for( int j = 1; j <= n; ++j )
if( sol[j] > x[j] )
{
for( int j1 = 1; j1 <= n; ++j1 )
sol[j1] = x[j1];
ok1 = false;
return;
}
}
}
}