Pagini recente » Cod sursa (job #128913) | Cod sursa (job #2885771) | Cod sursa (job #655568) | Cod sursa (job #1286890) | Cod sursa (job #1151625)
#include <cstdio>
using namespace std;
int i,k,j,m,n,a[30003],z,i2,i1,n1,n2,z1;
bool ok;
int main()
{
freopen("order.in","r",stdin);
freopen("order.out","w",stdout);
scanf("%d",&n);
for(i=1; i<=n; i++)
a[i]=i;
i=1;n1=1;n2=n;
while(k<n)
{
k++;
z=0;
i1=i;
i2=i;
z1=0;
ok=false;
while(a[n1]==-1 && k>3)
n1++;
while(a[n2]==-1 && k>3)
n2--;
while(!ok)
{
z++;
if(i2+z>n2) {i2=n1;z=0;}
if(a[i2+z]!=-1) z1++;
if(z1==k) {printf("%d ",a[i2+z]);i=i2+z;a[i2+z]=-1;ok=true;}
}
}
for(i=1; i<=n; i++)
if(a[i]!=-1) printf("%d ",a[i]);
return 0;
}