← Back to topics
Topic

Z-pesak- Zasto ne radi???

D
Daniel93
Ja vise neznam oko ovog zadatka se patim , ali nikako mi ne ide, neznam zasto jer ja mislim da bi trebalo raditi, evo link : http://www.z-trening.com/new/www/html/submit.php?submit=7100003862&subm_code=1. Po meni bi rebalo raditi ali se ja ne pitam^^, javlja "wrong result" . Bio bi zahvalan ako bi mi ko znao pomoci.
b
boba5551
Ne bih rekao da je to tacno sto si napisao. Naime, ti hoces da kodiras (x, y) u jednu vrednost sto je sasvim ok, ali svaka od tih moze ici do 1 000 000, a ti x mnozis sa 1003. Kako si siguran da neces imati recimo
(x, y) = (1, 0) = 1003 i
(x, y) = (0, 1003) = 1003
Mozda nesto nisam shvatio, ali ako jesam, onda ti na recimo tom test primeru pada.
D
Daniel93
Da je samo jedan test primjer...., samo jedan radi.. a moguce je da je do hash funkcije da nije u potpunosti dobra, al da nerade svi primjeri,,,. Bili mi mogao ti predloziti kako da ih stavljam u niz a da da budu jedinstveni slucajevi.
g
gates
ja sam imao f( x, y ) = x * 1000009 + y...
iako 1000003 bi trebalo biti dovoljno
D
Daniel93
Nevjerujem da je do toga, ili 1000009 ili 1000003 nema velike razlike. Vise mi je glupo da postam u vezi ovog zadatka. Mislim moguce je da x prelazi velicinu int-a sto je 2-miljarde, a ipak to bi znacilo da je x = 2000, sto nevjerujem da se desiti u recimo vecinu primjera, potom i sa int-om bi trebalo vise prolaziti neg jedan primjer.
b
boba5551
@gates:
Da, vidjao sam jos neke da su radili tako, mada mi nije jasno zasto to zapravo radi, ako i radi uvek. Odnosno, kako neko moze biti siguran da taj overflow nece nikad napraviti gresku.

@Daniel93: Ja sam radio preko balansiranih binarnih stabala, jer nema primera u kojima su sve koordinate razlicite, ali jos se moze raditi na sledeci nacin
zapravo, svaki 7ocifreni broj mozes razbiti na prve 3 i poslednje 4 cifre, pa to lepo uradis. x razbijes tako, pa onda prve 3 cifre i y zapakujes u jedan int, a to mozes koriteci takav hash kakav imas, a ostale 4 cifre cuvas zasebno i praktivno onda imas par (int, short int) koji ako se ne varam staje u memoriju i dalje mozes da radis sa tim. Nadam se da je ovo pomoglo...