Cod sursa(job #1506474)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 20 octombrie 2015 18:30:16
Problema Order Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("order.in");
ofstream fout("order.out");

int Lim, pos = 1;

vector < int > v;

inline void Remove(const int &value){
    if(pos + value < Lim){
        pos += value;
        fout << v[pos] << " ";
        v.erase(v.begin() + pos);
    } else {
        pos = value - (Lim - pos);
        pos = pos % Lim;
        fout << v[pos] << " ";
        v.erase(v.begin() + pos);
    }
    Lim--;
}

int main(){
    int n;
    fin >> n;
    Lim = n;
    for(int i = 1; i <= n; i++){
        v.push_back(i);
    }
    for(int i = 1; i <= n; i++){
        Remove(i - 1);
    }
    return 0;
}