Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prvo z-takmicenje

[es] :: Art of Programming :: Prvo z-takmicenje

[ Pregleda: 3522 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stf

Član broj: 51276
Poruke: 65
*.143.eunet.yu.



Profil

icon Prvo z-takmicenje09.10.2005. u 06:43 - pre 225 meseci
Kako ste reseili (kako biste resili) sledece zadatke:

1. Mali Z se zaposlio kao policajac, i njegov prvi zadatak je bio da ocuva red i mir na velikoj Novogodisnjoj zurci u Beogradskoj Areni. Medjutim, nespretni Z je zaspao cim je dosao na posao. Sutradan je morao da podnese izvestaj svom sefu o tome koji je maksimalan broj ljudi koji je u jednom trenutku bio na zurci. Z se bacio na posao i resio da pozove telefonom svakoga ko je bio na zurci. I svako mu je odgovrio kada je tacno dosao, i kada je otisao za zurke. Radi uopstenja vremenski interval od pocetka do kraja zurke Z je podelio na 1000000 vremenskih intervala (kada je vec zabrljao, sada hoce da bude precizan)
Pomozite malom Z-u da sa spiska na kome pishe kada je koji gost doshao a kada otisahao zakljuci koliko je najvise ljudi bilo na zurci u istom trenutku.
Ulaz:
Sa standardnog ulaza se ucitava broj N, 0 < N <= 10000, N prestavalja broj ljudi koji je bio na zurci. U narednih N linija nalaze se dva broja A[ i ] i B[ i ], gde A[ i ] prestavlja interval u opsegu [1..1000000] kada je osoba i doshla na zurku a B[ i ] interval kada je osoba i otisla za zurke. Sto znaci da je osoba i bila na zurci u svim intervalima izmedju A[ i ] i B[ i ] kao i u intervalima A[ i ] i B[ i ]
Izlaz:
Na standardni izlaz ispisati jedan broj, maksimalan broj ljudi koji je u istom intervalu (trenutku) bio na zurci.
Primer:
Ulaz:
4
1 3
2 3
3 4
5 7
Izlaz:
3
Objasnjenje: U vremenskom intervalu 3, osobe 1, 2 i 3 su bile na zurci.

2. Mali Z je reshio da osnuje muzicku grupu, i da napravi turneju po svetu, te je pozvao svoja tri najbolja drugara. Medjutim, kako su matori drugari prezauzeti studentskim zivotom, oni su malom Z-u dostavili spisak gradova do kojih mogu da doputuju, a da im to ne predstavlja veliko trosenje vremena i novca. Na svakom spisku ima najvise 1000 gradova.
Pomozite molom Z-u da nadje sve gradove koje sva tri drugara mogu posetiti.
Ulaz:
Sa standardnog ulaza se ucitava broj N[1] koji predstavlja broj gradova na spisku koji je dostavio prvi drugar Z-a. Nakon toga, u drugoj liniji sledi N[1] brojeva u opsegu [1..2000000000] razmaknutim blanko znakom, koji predstavlja gradove na spisku prvog drugara. Zatim se ucitava broj N[2], i slicno, iza njega N[2] brojeva koji predstavljaju gradove na spisku drugog drugara, i konacno se ucitava broj N[3] i N[3] gradova sa spiska treceg drugara. Na spisku svakog od drugara gradovi se nece ponavljati.
Izlaz:
Na standardni izlaz ispisati broj K, koji predstavlja broj gradova u koje mogu da doputuju sva tri drugara.
Primer
Ulaz:
3
1 2 3
3
2 3 4
4
1 2 3 4
Izlaz:
2
Objasnjenje: Sva tri drugara mogu doputovati u gradove 2 i 3

3. Mali Z stoji iznad papira i bezuspesno pokusava da nadje koren broja zapisanog na papiru.
Pomozite malom Z-u da nadje broj B koji je koren velikog broja A, A ima najvishe 1000 cifara. A ce uvek imati celobrojni koren
Ulaz:
Sa standardnog ulaza ucitava se u jednoj liniji broj N 0 < N <= 1000, koji predstavalja broj cifara datog broja A. U narednih N linija ucitavaju se cifre broja, i to prvo cifre najvece vrednosti.
Izlaz:
Na standardni izlaz upisati broj M, duzinu broja B, koji predstavlja pozitivni datog broja A, i u narednih M linija ispisati cifre broja B. I to od cifre najvece vrednosti do cifre najmanje.
Primer:
Ulaz:
3
6
2
5
Izlaz:
2
2
5
Objasnjenje:
Broj zapisan na papiru je bio broj 625, njegov koren je 25.

Zadaci su bili na prvom takmicenju (sajt [url]www.z-trening.com[/url]). E sad, prvi i drugi znam da uradim, nisu toliko teski (iako sam u drugom pogresio neku sitnicu koja mi je oduzela sve poene...). Mene konkretno zanima kako ste resili 3. zadatak (z-koren), koji je - bar po meni - ocigledno najtezi.
If you don't live for something, you will die for nothing.
 
Odgovor na temu

RooTeR
Rajko Nenadov
nema ga
Detelinara, NS

Član broj: 2386
Poruke: 385
*.dialup.neobee.net.



Profil

icon Re: Prvo z-takmicenje09.10.2005. u 09:49 - pre 225 meseci
Ja sam ga reshio na dosta kvarnu foru (uzeo sam neku staru knjigu iz matematike i tu sam nashao opis postupka za trazenje korena:) ... mada sam na takmichenju zeznuo jednu malu stvar (zato mi ne prolaze svi primeri) ...
U svakom sluchaju, ako te zanima ovakvo reshenje, reci, pa cu da ispishem, a ako te zanima neko malo vishe "programersko" reshenje, onda ti mogu reci da mozda probash sa biarnom pretragom neshto da zbudzis (posto je veliko vremensko ogranichenje, trebalo bi da prodje) ...
mmmmmm.. aahhhhhh..
e, nije sex nego serem!
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Prvo z-takmicenje09.10.2005. u 10:23 - pre 225 meseci
Da i ja sam razmisljao o binarnom pretrazivanju, ali onda bih trebao implementirati neki mali razred za rad sa string brojevima, i nije mi se dalo.
 
Odgovor na temu

stf

Član broj: 51276
Poruke: 65
*.141.eunet.yu.



Profil

icon Re: Prvo z-takmicenje09.10.2005. u 10:30 - pre 225 meseci
Ajd ako te ne mrzi ispisi to matematicko resenje...

If you don't live for something, you will die for nothing.
 
Odgovor na temu

Bojan Basic
Novi Sad

SuperModerator
Član broj: 6578
Poruke: 3996
*.smin.sezampro.yu.

Jabber: bojan_basic@elitesecurity.org
ICQ: 305820253


+605 Profil

icon Re: Prvo z-takmicenje09.10.2005. u 13:15 - pre 225 meseci
Evo matematičkog algoritma: http://www.elitesecurity.org/poruka/58493
A dosta o tome ima i ovde: http://www.elitesecurity.org/tema/14647
Ljubičice crvena, što si plava kô zelena trava.
 
Odgovor na temu

Damjan S. Vujnovic
London, UK

Član broj: 30444
Poruke: 81
*.ceetel.co.yu.

Jabber: damjan@elitesecurity.org
ICQ: 68189289
Sajt: www.javasvet.net


Profil

icon Re: Prvo z-takmicenje10.10.2005. u 08:42 - pre 225 meseci
Onaj prvi nije tezak, svodi se na sortiranje granica intervala (uz pamcenje da li je to vreme dolaska ili odlaska), i onda odrzavanje "tekuceg" broj gostiju (idenjem sleva na desno po sortiranom nizu) i cuvanjem tekuceg maksimuma... Nije bas najjasnije, ali mislim da moze da se skapira (dakle, ukupna slozenost je n log n - ne verujem da moze bolje).

DSV
I love the smell of copyright violations in the morning. Smells like... freedom!
 
Odgovor na temu

--SOULMaTe--
Nemanja Skoric
Novi Sad

Član broj: 1464
Poruke: 173
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: Prvo z-takmicenje10.10.2005. u 09:57 - pre 225 meseci
Postoji jos jedan nacin za racunanje korena(koji sam ja koristio), a to je da za neko g(x) postavis pocetnu vrednost a zatim racunas g(x) = 1/2( g(x) + R/g(x) ), gde je R broj ciji koren trazis.
Sto vise iteracija napravis dobijas sve bolju aproksimaciju korena, a posto je u zadataku potpun kvadrat pre ili kasnije sigurno ces doci do tacnog korena. Jedini problem je sto ovde moras da implementiras sve zive procedure za rad sa velikim brojevima, pa i deljenje.

-------Malo kasnije----
Sad sam video da je Bojan naveo i ovaj nacin

[Ovu poruku je menjao --SOULMaTe-- dana 10.10.2005. u 11:01 GMT+1]
Don’t do drugs, sleep deprivation is better.
 
Odgovor na temu

[es] :: Art of Programming :: Prvo z-takmicenje

[ Pregleda: 3522 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.