[ WOW @ 22.02.2008. 09:41 ] @
Pozdrav svima,
Imam dva problema - prvi sledi, a drugi je to sto nemam vremena da resim prvi... Tako da evo zadatka za vas, ako neko ima volju da resava...

Bio sam na nekom koncertu pre par meseci i slikao sam mobilnim telefonom bend. Posto moj telefon ima samo malo memorije slike sam prebacivao u eksternu memoriju na sledeci nacin:

Slikam par slika i one se automatski cuvaju u handset memoriji pod imenima 1.jpg, 2.jpg itd...

Posle par slikanja prebacujem nekoliko slika u eksternu memoriju pocevsi od poslednje slike iz handset memorije
- Primer 1: ako je u handset memoriji bilo 3 slike 1.jpg 2.jpg i 3.jpg prvo prebacujem sliku 3.jpg pa sliku 2.jpg itd...
- Primer 2: ako su u handset memoriji bile slike 1.jpg 5.jpg 30.jpg prvo prebacujem 30.jpg pa 5.jpg pa 1.jpg

Pri prebacivanju iz handset memorije u eksternu slike se preimenuju po sledecem algoritmu:
- ako ne postoji slika sa istim imenom u eksternoj memoriji prebacena slika zadrzava ime
- ako postoji dodaje se -1 (crtica i broj jedan) na kraj
- i onda se rekurzivno ponavlja ovaj algoritam (ako postoji "slika-1" onda slika dobija ime "slika-2" itd...)

Ono sto meni treba je - sortirati slike po vremenu kada su snimljene... Ako ima vise mogucnosti naci ih sve...
(PS. Gledao sam timestamp - svi su isti (vreme prebacivanja sa telefona na komp))

ULAZ: prikaceni fajl ulaz.txt u kome se u svakom redu nalazi ime slike sa prefiksom h ako je bila u handset memoriji ili sa prefiksom e ako je bila u eksternoj memoriji na kraju koncerta...
IZLAZ: fajl u kome se nalaze sortirana imena slika sa prefiksima...


Ne bih da navodim na pogresan put ali moja inicijalna ideja je da svaka slika ima 3 parametra - svoj broj ispred crte, broj iza crte i lokaciju (da li je h ili e). Slika ciji je broj ispred crte manji a svi ostali parametri su jednaki je vremenski pre slikana; slika koja ima broj iza crte manji a svi ostali parametri su isti je vremenski pre slikana i slika koja ima atribut e je ranije slikana od one koja ima atribut h (pod uslovom da su svi ostali parametri jednaki). E sad je samo pitanje koji parametri imaju prednost i kada...

Ako neko moze da mi pomogne, hvala unapred...

A da ne bi bilo lose ni da mi source code pokazete - cisto me zanima resenje...
[ reiser @ 26.02.2008. 20:11 ] @
Ako sam dobro razumeo zadatak, mislim da je isti nemoguce da se resi.

Recimo, u prvoj turi ti slikas 3 slike handheldom, i recimo da sad memorija handhelda izgleda 123 - svaka slika jedan broj. Dakle imamo:

h1
h2
h3

kad to prebacis u eksternu memoriju:

e1
e2
e3

sad, druga tura, ti odslikas jos 5 slika, h12345:

h1
h2
h3
h4
h5

kad to prebacis u eksternu, zajedno sa slikama iz prve ture, imas:

e1
e1-1
e2
e2-1
e3
e3-1
e4
e5

E sad, ovaj niz, pravilno sortiran po vremenu bi trebao da bude:

e1
e2
e3
e1-1
e2-1
e3-1
e4
e5

I sve je ovo ok, ali sta ako ti u prvoj turi odslikas 5 slika, a u drugoj 3 ? Imas ovako nesto:

Nakon prebacivanja 1. ture slika u eksternu:
e1
e2
e3
e4
e5

Nakon prebacivanja 2. ture slika u eksternu:
e1
e1-1
e2
e2-1
e3
e3-1
e4
e5

Dakle isti nesortirani niz kao i kod prvog slucaja. Osim sto ovaj niz sortiran po vremenu bi trebao da glasi:

e1
e2
e3
e4
e5
e1-1
e2-1
e3-1

Dakle, ne postoji nacin da utvrdis kojim su redom slike slikane, nadam se da sam uspeo da objasnim gde je problem :)

[Ovu poruku je menjao reiser dana 27.02.2008. u 01:45 GMT+1]
[ WOW @ 26.02.2008. 21:31 ] @
Ma jasno je to bilo meni i ranije - zato sam i naglasio da moze biti vise resenja... Znam da je zadatak dosta neelegantan, ali mislio sam da ako imam sve mogucnosti ispisane mogu onda po onome sto je na slikama da rekonstruisem redosled...

Ok nije bitno ako niko nece da se muci (razumem vas :) ), sescu jedan dan i lepo napisati program (ili rucno resiti)...