Pagini recente » Cod sursa (job #2083843) | Cod sursa (job #2261915) | Cod sursa (job #1875541) | Cod sursa (job #2191069) | Cod sursa (job #2401826)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
long long s[100001], v[100001], grad, k, ok;
int valid(int k)
{
for(int i=1;i<k;i++)
if(s[i]==s[k])
return 0;
return 1;
}
int main()
{
unsigned long long n , grd;
fin>>n;fin>>grd;
for(int i=1;i<=n;i++)
v[i]=i;
k=1;
s[1]=0;
while(k>=1)
{
ok=0;
while(!ok&&s[k]+1<=n)
{
s[k]++;
ok=valid(k);
}
if(ok==1)
if(k==n)
{
grad=0;
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
if(s[i]>s[j])grad++;
}
}
if(grad==grd){
for(int i=1;i<=n;i++)
fout<<s[i]<<" ";
return 0;
}
}
else
{
k++;
s[k]=0;
}
else
k--;
}
}