Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Sortarea prin oglindiri (o problema)  (Citit de 3625 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
baTTLe4u_15
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 19



Vezi Profilul
« : Martie 25, 2013, 18:32:43 »

Am gasit urmatoarea problema:

Se citeşte de la tastatură un şir de n numere naturale cuprinse între 1 si 60000. Se cere ordonarea crescătoare a acestui şir folosind următoarea operaţie: se fixează un element al şirului şi apoi se oglindesc secvenţele din stânga şi din dreapta lui. De exemplu, dacă în şirul (6 5 7 8 9 4 6 5) se fixează elementul de pe poziţia 4 se va obţine şirul (7 5 6 8 5 6 4 9) adică se oglindeşte şirul (6 5 7) şi şirul (9 4 6 5), şiruri aflate în stânga şi respectiv în dreapta elementului de pe poziţia 4. Se pot fixa şi elementele fictive de pe poziţiile 0 si n+1.
Să se afişeze toate poziţiile care s-au fixat pentru a ajunge la soluţie. Numărul acestor poziţii fixate trebuie să nu fie mai mare decât 3n.
   Exemplu. Pentru şirul (4,20,5,50,25) poziţiile fixate sunt (4,5,5,6,4, 5,5,6,5,6).

Asta am lucrat eu pana acum
http://pastebin.com/YKSawJze  Spiteful

Trebuie sa-mi mai dau seama in ce mod se alege pozitia pentru oglindire  Brick wall
Memorat
cristiavra
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #1 : Martie 25, 2013, 19:49:42 »

pot sa te intreb unde ai gasit problema? Smile
Memorat
baTTLe4u_15
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 19



Vezi Profilul
« Răspunde #2 : Martie 25, 2013, 20:02:32 »

Mi-a dat doamna profesoara sa lucrez, dar nici dansa nu stie s-o rezolve... Beat Dead Horse
Memorat
mihaipopa12
Client obisnuit
**

Karma: 74
Deconectat Deconectat

Mesaje: 64



Vezi Profilul
« Răspunde #3 : Martie 25, 2013, 20:38:48 »

Cred ca problema este si pe infoarena Smile:
http://www.infoarena.ro/problema/order2
Memorat
baTTLe4u_15
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 19



Vezi Profilul
« Răspunde #4 : Martie 25, 2013, 20:45:13 »

Interesant  Embarassed
Nu stiam , n-am mai intalnit-o. Si totusi, are 0.1 sec limita de timp, merge cat de cat oglindirea facuta de mine ? Sau sunt complet paralel cu problema...? Whistle
Memorat
mihaipopa12
Client obisnuit
**

Karma: 74
Deconectat Deconectat

Mesaje: 64



Vezi Profilul
« Răspunde #5 : Martie 25, 2013, 20:54:47 »

Solutia problemei e O(n^2). Functia de oglindire e buna dar trebuie sa vezi cum folosesti oglindirile incat sa sortezi sirul. Nu e corecta abordarea ta cu citirea x-ului la care sa oglindesti  Think
Memorat
baTTLe4u_15
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 19



Vezi Profilul
« Răspunde #6 : Martie 25, 2013, 20:59:20 »

Stiu, am pus chestia cu citirea pozitiei pentru a testa mai rapid exemplele date de mine si sincer sa fiu nici exemplele nu le pot duce pana la capat.. din momemnt ce nu le-am inteles matematic nici n-am ce implementa. (as crede ca trebuie un if ceva.. sa caut o secventa crescatoare/descrescatoare sau nu stiu.... inca n-am gasit o idee care sa mearga pe caz general).
Memorat
mihaipopa12
Client obisnuit
**

Karma: 74
Deconectat Deconectat

Mesaje: 64



Vezi Profilul
« Răspunde #7 : Martie 25, 2013, 21:05:08 »

http://probleme.francu.com/arhiva/R0028/enunt.html

De aici e luata problema, vad ca e si rezolvarea acolo.
Bafta!
Memorat
baTTLe4u_15
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 19



Vezi Profilul
« Răspunde #8 : Martie 25, 2013, 21:30:37 »

Multumesc pentru sursa. O sa studiez cu atentie sa vad care-i faza cu pozitiile acelea pe acolo.  Weightlift
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines