Professional Documents
Culture Documents
Rjesenja
Rjesenja
INFORMATIKE 2012/2013
4. KOLO
OPISI ALGORITAMA
HONI 2012/2013 Zadatak SELA
4. kolo, 19. siječnja 2013. Autor: Adrian Satja Kurdija
Kategorija: ad hoc
HONI 2012/2013 Zadatak ČOKOLADA
4. kolo, 19. siječnja 2013. Autor: Adrian Satja Kurdija
Za svako od tri unosa oblika “K redova” ili “K stupaca” valja nam učitati broj
K i string A te provjeriti je li string A = “redova” ili A = “stupaca”.
Kategorija: ad hoc
HONI 2012/2013 Zadatak OREHNJAČA
4. kolo, 19. siječnja 2013. Autor: Nikola Dmitrović
Kategorija: ad hoc
HONI 2012/2013 Zadatak ESEJ
4. kolo, 19. siječnja 2013. Autor: Ivan Mandura
Kategorija: ad hoc
HONI 2012/2013 Zadatak VOYAGER
4. kolo, 19. siječnja 2013. Autor: Nikola Dmitrović
Kategorija: simulacija
HONI 2012/2013 Zadatak RAZLIKA
4. kolo, 19. siječnja 2013. Autor: Goran Gašić
K(1) = B,
K(2) = B * K(1) = B * B.
Dan možemo promatrati kao niz nula i jedinica, tako da na i-tom mjestu
u nizu stoji 1 ako je taj dan i-ta osoba bila bolesna. Uz takvo pamćenje
bolesnih ljudi, operator * može se trivijalno implementirati u složenosti O(M
* M).
Bi = Bi-1 * B
Ovo pravilo očigledno vrijedi jer smo potenciju definirali kao pokratu za
uzastopno množenje.
Bi * Bi = Bi+i
Algoritam slijedi:
potencija(B, k) =
ako je k paran,
pola = potencija(B, k/2) ako k nije nula ili {0, 1, 0, 0, ..}
vrati pola * pola
ako je k neparan,
vrati potencija(B, k-1) * B
Ako k postane jednak 0, moramo vratiti objekt koji će biti neutralni element
za operator *. U našem slučaju to je niz koji ima jednu jedinicu na mjestu 1.
Ovo rješenje nosilo je sve bodove.
Nažalost ovo rješenje nije dovoljno brzo jer je njegova složenost O(log K *
M * M * M) i nije nosilo sve bodove.
Kategorija: matematika
HONI 2012/2013 Zadatak AKVARIJ
4. kolo, 19. siječnja 2013. Autor: Gustav Matula