Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: taxe  (Citit de 4297 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
cr1st18
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« : Septembrie 01, 2009, 19:52:12 »

am o intrebare la problema asta daca o stie carevea de la oji 2003 acea cu taxe...vroiam sa intreb.....pt rezolvare mi-ar trebui 2 matrici si fac in fel acesta? adica introduc prima poz in coada....apoi parcurg matricea si incep sa verific vecinii care ii bag in coada si il aleg pe acela care ia taxa mai mica...?:-/
« Ultima modificare: Septembrie 01, 2009, 19:59:14 de către cristi » Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #1 : Septembrie 01, 2009, 20:23:14 »

Cred ca am gasit problema:

Citat
Într-o ţară în care corupţia este în floare şi economia la pământ, pentru a obţine toate aprobările necesare în scopul demarării unei afaceri, investitorul trebuie să treacă prin mai multe camere ale unei clădiri în care se află birouri.
Clădirea are un singur nivel în care birourile sunt lipite unele de altele formând un caroiaj pătrat de dimensiune nxn. Pentru a facilita accesul în birouri, toate camerele vecine au uşi între ele. În fiecare birou se află un funcţionar care pretinde o taxă de trecere prin cameră (taxă ce poate fi, pentru unele camere, egală cu 0). Investitorul intră încrezător prin colţul din stânga-sus al clădirii (cum se vede de sus planul clădirii) şi doreşte să ajungă în colţul opus al clădirii, unde este ieşirea, plătind o taxă totală cât mai mică.

Cerinţă
Ştiind că el are în buzunar S euro şi că fiecare funcţionar îi ia taxa de cum intră în birou, se cere să se determine dacă el poate primi aprobările necesare şi, în caz afirmativ, care este suma maximă de bani care îi rămâne în buzunar la ieşirea din clădire.

Date de intrare
Fişierul de intrare taxe.in conţine pe prima linie cele două numere S şi n despărţite printr-un spaţiu, iar pe următoarele n linii câte n numere separate prin spaţii ce reprezintă taxele cerute de funcţionarii din fiecare birou.

Date de ieşire
Fişierul de ieşire taxe.out conţine o singură linie pe care se află numărul maxim de euro care îi rămân în buzunar sau valoarea –1 dacă investitorului nu-i ajung banii pentru a obţine aprobarea.

Restricţii
3<=N<=100
1<=S<=10000
Valorile reprezentând taxele cerute de funcţionarii din birouri sunt numere naturale, o taxă nedepăşind valoarea de 200 de euro.
La încheierea programului nu se va solicita apăsarea unei taste.


Asta e? Smile
Memorat
cr1st18
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #2 : Septembrie 01, 2009, 20:43:31 »

da......

Memorat
cr1st18
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #3 : Septembrie 01, 2009, 20:44:24 »

am gasit si rezolvarea da ii in pascal si n-o inteleg in totalitate.....
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #4 : Septembrie 01, 2009, 20:50:11 »

Se face cu parcurgere in latime. Nu cred totusi ca are importanta in ce e codat ca sa il intelegi.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #5 : Septembrie 01, 2009, 22:20:27 »

Citeste despre algoritmul Belman-Ford. In cazul acesta este o adaptare a acestui algoritm la o matrice
Memorat
cr1st18
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #6 : Septembrie 02, 2009, 13:47:35 »

am o intrebare ii bine daca as face asa "bag primu element in coada....apoi parcurg matricea si scot primu element din coada....si ii verific vecinii pe care ii bag in coada(bineinteles directiile in care se poate merge)....si cand revin iarasi la pasu cu scoaterea unui elem din coada....il aleg pe cel care are o taxa mai mica s.a.m.d pana ajung la poz finala".
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #7 : Septembrie 02, 2009, 14:25:23 »

Poate daca ai fi putin mai coerent si ai folosi propozitii lumea chiar ar intelege ce ai vrut sa zici si poate te-ar putea ajuta Smile
Memorat
cr1st18
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #8 : Septembrie 02, 2009, 15:00:35 »

vreau sa spun ca fac pasii de la lee ..numai ca la pasul cand trebuie sa scot un element din coada....il scot pe cel cu taxa cea mai mica pana atunci ....nu pe ultimu-l explorat
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #9 : Septembrie 02, 2009, 16:08:59 »

vreau sa spun ca fac pasii de la lee ..numai ca la pasul cand trebuie sa scot un element din coada....il scot pe cel cu taxa cea mai mica pana atunci ....nu pe ultimu-l explorat
Si de ce nu pui direct in coada  doar pe cel mai mic vecin al camerei x ?
Nu mi se pare o idee prea buna si ca drept dovada sa luam exemplul din enunt :
10 3
1 2 5
1 3 1
0 8 1
La tine ar fi 1->1->0->8->1,  corect fiind 1->1->3->1->1
« Ultima modificare: Septembrie 02, 2009, 16:17:04 de către alexandru » Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #10 : Septembrie 02, 2009, 16:48:01 »

Din ce am inteles eu, vrea sa faca ceva gen Dijkstra, adica la fiecare pas aleg sa ma duc in nodul cu suma minima de pana atunci, pentru ca toate celelalte avand costul mai mare, nu il mai pot imbunatati pe cel ales.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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