Cod sursa(job #1786206)

Utilizator elffikkVasile Ermicioi elffikk Data 22 octombrie 2016 16:28:45
Problema Radix Sort Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <map>
#include <iterator>
using namespace std;

main() {
    ifstream cin("radixsort.in");
    ofstream cout("radixsort.out");
    int n, a, b, c;
    cin>>n>>a>>b>>c;
    //generate vector
    map<int, int> h;
    unsigned int x = b;
    h[x] = 1;
    for (int i = 1; i<n; i++) {
        x = (a * x + b) % c;
        if (h.find(x) != h.end()) {
            h[x]++;
        } else {
            h[x]=1;
        }
    }
    //show
    int k = 0;
    for(map<int, int>::iterator i = h.begin(); i != h.end(); i++) {
        int hn = (*i).second;
        for (int j = 0; j < hn; j++) {
            k++;
            if (k%10==1) {
                cout<<(*i).first<<" ";
            }
        }
    }
}