Cod sursa(job #2897295)
| Utilizator | Data | 3 mai 2022 12:41:18 | |
|---|---|---|---|
| Problema | Planeta | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<fstream>
using namespace std;
ifstream fin("planeta.in");
ofstream fout("planeta.out");
int n, v[31], k;
void sol(int st, int dr, int k){
int i=st;
while(v[i-st]*v[dr-i]<=k && i<=dr){
k-=v[i-st]*v[dr-i];
i++;
}
fout<<i<<" ";
if(st<i)
sol(st, i-1, k/v[dr-i]);
if(dr>i)
sol(i+1, dr, k%v[dr-i]);
}
int main(){
fin>>n>>k;
v[0]=1;
for(int i=1; i<=n; i++){
for(int j=1; j<=i; j++)
v[i]+=v[i-j]*v[j-1];
}
k--;
sol(1, n, k);
}
