Cod sursa(job #3242002)

Utilizator domdiridomdidomDominik domdiridomdidom Data 7 septembrie 2024 11:50:33
Problema Radix Sort Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <algorithm>

int t[10000000] = {};
int szamlalo = 10;

bool sort(int a, int b){
	return a / (szamlalo / 10) % szamlalo < b / (szamlalo / 10) % szamlalo;
}

void radixSort(int t[], int n){
	for(int i = 1; i <= 10; i++){
		std::stable_sort(t, t+n, sort);
		szamlalo *= 10;
	}
}

int main(){
	int n, a, b, c;
	std::ifstream bem("radixsort.in");

	bem >> n >> a >> b >> c;
	bem.close();

	t[1] = b;
	for(int i = 2; i <= n; i++)
		t[i] = (a * t[i-1] + b) % c;
	
	radixSort(t, n);

	std::ofstream kim("radixsort.out");
	for(int i = 1; i <= n; i += 10)
		kim << t[i] << " ";
	kim.close();
	return 0;
}