Pagini recente » Cod sursa (job #625659) | Cod sursa (job #2657801) | Cod sursa (job #2373629) | Cod sursa (job #350155) | Cod sursa (job #760609)
Cod sursa(job #760609)
#include<fstream>
using namespace std;
int A[90005],p;
ofstream fout("order.out");
void init(int nod,int left,int right){
A[nod]=right-left+1;
if(left==right)return ;
int div=(left+right)>>1;;
init(2*nod,left,div);
init(2*nod+1,div+1,right);
}
void update(int nod,int left,int right,int poz){
if(left==right){
A[nod]=0;
fout<<left<<' ';
return;
}
int div=(left+right)>>1;
if(p<=poz+A[2*nod])update(2*nod,left,div,poz);
else update(2*nod+1,div+1,right,poz+A[2*nod]);
A[nod]=A[2*nod]+A[2*nod+1];
}
int main(void){
ifstream fin("order.in");
int n,i;
fin>>n;
init(1,1,n); p=2;
for(i=0;i<n;++i)
{
p=(p+i-1)%(n-i)+1;
update(1,1,n,0);
}
return 0;
}