Pagini: [1] 2 3   În jos
  Imprimă  
Ajutor Subiect: 122 Calatorie interplanetara  (Citit de 21149 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
ditzone
Vizitator
« : Octombrie 23, 2005, 21:48:20 »

Aici puteţi discuta despre problema Calatorie interplanetara.
Memorat
sarabogdan
Strain
*

Karma: 4
Deconectat Deconectat

Mesaje: 40



Vezi Profilul
« Răspunde #1 : Octombrie 24, 2005, 14:05:25 »

Dati-mi va rog  un hint cum se facea dinamica la problema asta ca nu mi-a iesit nici cum.
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #2 : Octombrie 24, 2005, 14:43:39 »

b[i ][j] = valoarea minima de combustibil consumat in viteza normala pana la planeta i mergand exact j unitati de timp cu superviteza.
Solutie = minim ( b[n][j] + j ^ 4 ), j = 1, MAXH
« Ultima modificare: Aprilie 13, 2006, 17:52:28 de către bogdan2412 » Memorat
dausyana
Strain
*

Karma: -10
Deconectat Deconectat

Mesaje: 43



Vezi Profilul
« Răspunde #3 : Octombrie 24, 2005, 14:55:42 »

aha!!..deci pana l urma era programare dinamica.....mie dc nu mi-o fi iesit??... Annoyed
Memorat

does anybody remember laughter?
Adriana_S
De-al casei
***

Karma: 51
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #4 : Octombrie 26, 2005, 15:15:23 »

pentru ca nu ti-a venit ideea...
 Very Happy
Memorat

calinux
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 42



Vezi Profilul
« Răspunde #5 : Octombrie 29, 2005, 21:44:06 »

Eu am incercat sa implementez... si n-am reusit. Am tratat si cazul cand n=1. Probabil imi scapa ceva mic... Nu stiu... Daca a mai avut cineva vreo problema similara si ma poate ajuta as fi recunoscator....  Brick wall  Brick wall  Brick wall
Memorat

"And all that is now,
And all that is gone,
And all that's to come,
And everything under the sun is in tune
But the sun is eclipsed by the moon"
The Dark Side of The Moon - Pink Floyd
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #6 : Octombrie 30, 2005, 18:38:13 »

Eu am avut probleme la afisare  Embarassed pt k nu puneam punctul la sfarsitul fiecarei linii...  Don't get it In rest, dinamica e f usor de facut si nu apar cazuri speciale in sursa. Incearca si cu teste mici in care sa iti aleaga de fiecare data viteza normala, sau cu unele in care sa se aleaga mereu numai superviteza. Desi nu ar trebui sa ai probleme  wink Ce ar mai putea sa apara: consumul minim de combustibil s-ar putea sa nu se incadreze pe 32 de biti... Cam asta ar fi tot!
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #7 : Ianuarie 18, 2006, 01:00:53 »

Si eu am incercat sa implementez, dar nu am reusit  Eh? . Folosesc 64 de biti pentru numere si pun punctul la sfarsitul liniilor...  Thumb down  Ce sa fie ?
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
Adriana_S
De-al casei
***

Karma: 51
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #8 : Ianuarie 18, 2006, 13:56:47 »

pai daca nu e de la afisare inseamna ca e de la dinamica. Poate ai busit implementarea, sau e chiar de la idee pe care ori ai inteles-o prost din postul lui bogdan ori ai gandit-o prost. E putin cam greu sa-si dea cineva seama ce ai gresit tu numai din ce ai zis....
Memorat

tm_radu
De-al casei
***

Karma: 16
Deconectat Deconectat

Mesaje: 140



Vezi Profilul
« Răspunde #9 : Iunie 11, 2006, 18:38:02 »

Cat va da pe:

Cod:
1
6
12543 7
2345 2
7347 4
57629 5
100 3

mie imi da 21549. ii bine?
Memorat

Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #10 : Iunie 11, 2006, 20:13:25 »

e bine  Smile
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
tm_radu
De-al casei
***

Karma: 16
Deconectat Deconectat

Mesaje: 140



Vezi Profilul
« Răspunde #11 : Iunie 11, 2006, 20:30:18 »

in cazu asta habar n-am ce-am gresit....
Memorat

Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
tm_radu
De-al casei
***

Karma: 16
Deconectat Deconectat

Mesaje: 140



Vezi Profilul
« Răspunde #12 : Iunie 13, 2006, 17:08:35 »

mi-ati putea da macar un test (nu unul din cele oficiale) ca sa vad ce am gresit?
Memorat

Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
u-92
Vizitator
« Răspunde #13 : Iunie 13, 2006, 20:29:12 »

lasa tu un test (mai maricel) si iti spun rezultatul corect
Memorat
tm_radu
De-al casei
***

Karma: 16
Deconectat Deconectat

Mesaje: 140



Vezi Profilul
« Răspunde #14 : Iulie 06, 2006, 17:03:57 »

Pentru:
Cod:
3
12
12543 7
2345 2
60 3
3467 5
7347 4
57629 5
100 3
24560 9
3232 6
1231 10
45325 8
4
100 2
101 4
102 6
5
10000 1
10000 2
10001 5
10001 3

va da:
Cod:
Consumul minim = 83446.
Consumul minim = 219.
Consumul minim = 11297.
Eh?
Memorat

Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #15 : Iulie 06, 2006, 17:14:33 »

da... e bine..
Memorat
tm_radu
De-al casei
***

Karma: 16
Deconectat Deconectat

Mesaje: 140



Vezi Profilul
« Răspunde #16 : Iulie 06, 2006, 17:52:21 »

Ce naspa ca nu este decat un singur test  sad imi da bine pe toate testele facute de mana, dar totusi primesc WA...
Memorat

Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #17 : Iulie 06, 2006, 17:59:32 »

Vezi daca programul tau nu crapa pentru N <= 1, daca folosesti int64 / long long peste tot pe unde trebuie, daca ai "." la sfarsitul fiecarui rand Smile sau daca nu pui un enter in plus la sfarsitul fisierului...
« Ultima modificare: Iulie 06, 2006, 18:15:03 de către bogdan2412 » Memorat
tm_radu
De-al casei
***

Karma: 16
Deconectat Deconectat

Mesaje: 140



Vezi Profilul
« Răspunde #18 : Iulie 06, 2006, 18:12:02 »

Pentru n = 1, trebuie afisat 0, nu?
Memorat

Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #19 : Iulie 06, 2006, 21:00:58 »

DA
Memorat
Coty
Nu mai tace
*****

Karma: 6
Deconectat Deconectat

Mesaje: 235



Vezi Profilul WWW
« Răspunde #20 : Iulie 09, 2006, 15:45:05 »

Cod:
    scanf("%ld", &T);
    while ( T-- )
    {
//      ................
        printf("Consumul minim = %lld.", solve());
        if ( T ) printf("\n");
    }

e cu punct la sfarsit, e long long, nu are un enter in plus... si imi dau toate destele facute de mana... ce are?  Brick wall

[Later edit]
nu am zis, dar am facut cum a zis Bogdan, cu o matrice in care A[ i ][ j ] inseamna cat a mers cu viteza normala pana in bucata de drum i ( inclusiv ) atata timp cat a consumat j unitati de superviteza... si matricea e de 600 x 600 ... long long in matrice, long long rezultatul... cand fac minimul verifica pana la j 10 (care la a patra intra in long):
Cod:
    long long rez=MARE;
    for (j=0; j<10; ++j)
        if ( rez>(long long)(A[N][j]+j*j*j*j) ) rez=(long long)(A[N][j]+j*j*j*j);
    return rez;

Citat din mesajul lui: bogdan2412
sau daca nu pui un enter in plus la sfarsitul fisierului...
fisierul trebuie sa aiba un enter dupa ultimul punct? sau nu? adica te referi la < punct enter enter > sau la < punct enter > Huh
« Ultima modificare: Iulie 12, 2006, 16:02:26 de către Coty » Memorat
tm_radu
De-al casei
***

Karma: 16
Deconectat Deconectat

Mesaje: 140



Vezi Profilul
« Răspunde #21 : Iulie 19, 2006, 17:16:18 »

Probabil nu e de la afisare...verifica daca MARE este o constanta destul de mare, si daca initializezi cum trebuie matricea dupa fiecare test din fisierul de intrare. inca ceva....declara o constanta long long int sau chiar double in care tii rezultatul lui j^4...pentur ca s-ar putea sa devina destul de amre la un moment dat
Memorat

Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #22 : Iulie 19, 2006, 22:30:26 »

..declara o constanta long long int sau chiar double in care tii rezultatul lui j^4...pentur ca s-ar putea sa devina destul de amre la un moment dat
Cod:
(long long)(A[N][j]+j*j*j*j)

... cred ca face deja calculele in long long
Memorat
Coty
Nu mai tace
*****

Karma: 6
Deconectat Deconectat

Mesaje: 235



Vezi Profilul WWW
« Răspunde #23 : Iulie 20, 2006, 07:24:22 »

Probabil nu e de la afisare...verifica daca MARE este o constanta destul de mare, si daca initializezi cum trebuie matricea dupa fiecare test din fisierul de intrare. inca ceva....declara o constanta long long int sau chiar double in care tii rezultatul lui j^4...pentur ca s-ar putea sa devina destul de amre la un moment dat

Cod:
 #define MARE 1073741824
mi se pare ca ala e 2^20, oricum, daca e mai mare parca face urat... da, calculez matricea A si rezultatul in long long. acum am modificat sursa un pic si functia solve() nu returneaza decat pozitia, valoarea o calculez inainte de afisare... nu ca ar fi o mare imbunatatire,,, intrebarea mare ar fi: evaluatorul tine cont de cate enteruri sunt la sfarsitul fisierului de iesire? ca daca nu, e de la valorile gresite pe care le returneaza programul...

si inca ceva: vi s-a intamplat sa rulati executabilul dupa compilare, sa primiti un raspuns aproximativ gresit ( pt 1 test nu era corect ) si sa dati run din rhide pe urma si sa va dea corect? si eventual stiti de la ce ar putea fi Huh
Memorat
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #24 : Iulie 20, 2006, 09:13:09 »

ar putea fi de la faptul ca iti iese din memori pe undeva; cand rulezi din Rhide, Rhide mai tine niste chestii in memorie si tu cand iesi, poti sa iesi peste memoria lui Rhide; pe cand daca rulezi direct .exe, cand iesi din memorie poti intri peste altceva...
ruleza-l si in Linux sa vezi daca ai probleme..

si de ce ai long long rez daca il initializezi cu MARE care e doar 2^20? rez poate sa fie in cazul asta int.. sau fa MARE mai mare Tongue (ex 2^60)..
ex #define MARE 1e18 (asta e 10^18.. se aproprie de maximul long long..); dar vezi ca e double, insa il transforma bine in long long
« Ultima modificare: Iulie 20, 2006, 09:39:16 de către svalentin » Memorat
Pagini: [1] 2 3   În sus
  Imprimă  
 
Schimbă forumul:  

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