Cod sursa(job #661174)
| Utilizator | Data | 13 ianuarie 2012 22:19:34 | |
|---|---|---|---|
| Problema | Order | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <stdio.h>
#define nmax 300001
bool viz[nmax];
int main(){
int n;
FILE *fin=fopen("order.in","r");
fscanf(fin,"%d",&n);
fclose(fin);
FILE *fout=fopen("order.out","w");
int i,j,k;
int copie;
for(i=1;i<=n;i++){
//vad care e poz a i-a fata de 1, dintre cele nevizitate
k=i+1;
//printf("pasul %d\n",i);
for(j=1;k;j=j%n+1){
if(viz[j]==0){
//printf("al %d-lea este %d\n",i+1-k,j);
copie=j;
k--;
}
}
viz[copie]=1;
fprintf(fout,"%d ",copie);
}
return 0;
}
