Cod sursa(job #254510)

Utilizator Andreid91Ciocan Andrei Andreid91 Data 7 februarie 2009 12:35:32
Problema Planeta Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.58 kb
#include<fstream.h>

long  p,i,j,k,n,q,v[100];




int main()
{
ifstream f("planeta.in");
f>>n>>k;
f.close();
p=1;
for (i=1;i<=n;i++)
	v[i]=i;
for (i=2;(i<=n) && (p*i<=k);p*=i,i++);
ofstream g("planeta.out");
int h=n-i+1;
for (j=1;j<=n-i;j++)
	{
	g<<j<<' ';
	v[j]=-1;
	}
for (j=h;j<n;j++)
	{
	q=k/p;
	if (k%p!=0) q++;
	i=1;
		while (q)
		if (v[i]==-1) i++;
			else {
			     q--;
			     i++;
			     }
        g<<v[i-1]<<' ';
	v[i-1]=-1;
	k=k%p;
	if (k==0) k=p;
	p/=(n-j);
	}
for (i=1;i<=n;i++)
	if (v[i]!=-1) g<<v[i];
g.close();
return 0;
}