Cod sursa(job #2617674)

Utilizator grecuGrecu Cristian grecu Data 22 mai 2020 16:40:44
Problema Radix Sort Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.88 kb
from math import log

def convert(k):
    K = []
    for values in k.values():
        for value in values:
            K.append(value)
    return K


def radixsort(l):
    if len(l)==0 or max(l)==0:
        return l
    baza_radix = 10
    curent = 1
    k = {}
    n = (int(log(max(l), baza_radix)) + 1)
    for _ in range(n):
        for i in range(baza_radix):
            k[i] = []
        for i in l:
            k[(i // curent) % baza_radix].append(i)
        l = convert(k)
        curent *= baza_radix
    return l

with open("radixsort.in","r") as f:
    x = f.readline().split()
    n, a, b, c = int(x[0]), int(x[1]), int(x[2]), int(x[3])
l = [b]
for i in range(n-1):
    l.append((a * l[-1] + b)%c)
print(l)
l = radixsort(l)
print()
print(l)
with open("radixsort.out",'w') as g:
    for i in range(0,len(l) - 1,10):
        g.write(str(l[i])+" ")