Cod sursa(job #2558517)

Utilizator IuliaBarbuBarbu Iulia Andreea IuliaBarbu Data 26 februarie 2020 17:04:06
Problema Radix Sort Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.73 kb

def Count_Sort(p):
    global l
    c=[0]*10
    v=[0]*len(l)
    for i in l:
        c[i//p%10]+=1
    for i in range(1,10):
            c[i] += c[i - 1]
    i=len(l)-1
    while i>=0:
        v[c[l[i]//p%10]-1]=l[i]
        c[l[i]//p%10]-=1
        i-=1
    for i in range(len(l)):
        l[i]=v[i]

f = open("radixsort.in")
g = open("radixsort.out","w")

#l=f.readline().split()
#for i in range(len(l)) :
#    l[i]=int(l[i])
s=[]
s=f.readline().split()
n=int(s[0])
a=int(s[1])
b=int(s[2])
c=int(s[3])


l=[0]*n
l[0]=b
for i in range(1,n) :
    l[i]=(a * l[i-1] + b) % c
#radix sort:
maxim=max(l)
p=1
while p<maxim:
    Count_Sort(p)
    p*=10
i=0
while i <len(l):
    g.write(str(l[i])+" ")
    i+=10