Cod sursa(job #2367383)

Utilizator Codrincristea21Cristea Codrin Codrincristea21 Data 5 martie 2019 10:27:39
Problema Farfurii Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
long long x[100001],n,k,p,ok;

void afis()
{for(int i=1;i<=n;i++)g<<x[i]<<" ";
}

int cont (int k){

for(int i=1;i<=k-1;i++)if(x[i]==x[k])return 0;
return 1;
}

int sol(int k){
    int s=0;
for(int i=1;i<=k-1;i++)
    for(int j=i+1;j<=k;j++)if(x[i]>x[j])s++;
if(s==p)return 1;
return 0;
}

void back (int k){
int v;
if(ok==0){
for(v=1;v<=n;v++){
x[k]=v;
//g<<k<<" ";

if(cont(k))if(k==n){if(sol(k)){ok=1;afis();}}
       else back(k+1);
}
}
}
int main()
{unsigned long long i,j,z,s=1,sa=0,x,loc=0,y,q;;
f>>n>>p;
back(1);

    return 0;
}