|
Titlul: 386 Dezastru Scris de: Adrian Diaconu din Martie 25, 2007, 13:26:57 Aici puteţi discuta despre problema Dezastru (http://infoarena.ro/problema/dezastru).
Titlul: Răspuns: 386 Dezastru Scris de: Radu Zernoveanu din Martie 26, 2007, 15:36:59 ce optimizari as putea face daca am facut un back in care am luat toate combinarile de k numere astfel incat ele sa fie luate crescator(un grup sa fie luat o singura data) ? ca iau 70 de puncte si 3 TLE
Titlul: Răspuns: 386 Dezastru Scris de: ctes tesc din Martie 26, 2007, 17:52:55 probabil fara back.... :P
Titlul: Răspuns: 386 Dezastru Scris de: Cezar Mocan din Martie 26, 2007, 18:26:44 Nu, si solutia oficiala e cu back...
Titlul: Răspuns: 386 Dezastru Scris de: HighScore din Martie 26, 2007, 18:40:28 poi si atunci cum...k io cu back iau 4 tle..si nu folosesc in functia de back mai deloc memorie...
LE: la sol oficiala nu precizeaza nimic de back, si nici nu spune ca ar obtine 100 cu combinari.... Titlul: Răspuns: 386 Dezastru Scris de: Bogdan-Cristian Tataroiu din Martie 26, 2007, 18:52:37 Se ia 100 cu Combinari de N luate cate K.. nu folosi long double cum am facut eu in concurs :).
Vezi ca daca esti la pasul k in stiva poti limita superior valoarea care poti s-o pui ( cand faci combinari tii valorile ordonate crescator in stiva ). Titlul: Răspuns: 386 Dezastru Scris de: Cezar Mocan din Martie 26, 2007, 18:58:04 Exact asta fac si eu...combinari de n luate cate k, in stiva pe pozitia i pun de la st[i-1]+1 pana la n si iau doar 60 cu TLE.
Trebuie facut back-ul iterativ?? :-' Titlul: Răspuns: 386 Dezastru Scris de: HighScore din Martie 26, 2007, 19:07:23 da ce rost are sa tii minte elementele combinarii? ???
Titlul: Răspuns: 386 Dezastru Scris de: Mircea Pasoi din Martie 26, 2007, 19:17:11 Daca nu va intra in timp, puteti incerca oricand o solutie cu programare dinamica :ok:
Titlul: Răspuns: 386 Dezastru Scris de: Cezar Mocan din Martie 26, 2007, 19:18:39 Mda... :-k. Totusi, am inceput cu back si vreau sa o duc la bun sfarsit asa... nu ma dau eu batut... :mrgreen:
Titlul: Răspuns: 386 Dezastru Scris de: Pandia Gheorghe din Martie 26, 2007, 19:23:41 Referitor la metoda back... se pot face niste optimizari pentru a vedea pe fiecare nivel intre ce valori poti considera elementul din permutare. De asemenea poti face vectorul lista simplu inlantuita iar restul variabilelor alocate dinamic. Preluandu-ti ideea am facut asa si zic eu ca mai rapid e imposibil...
Cu o astfel de solutie obtii maxim 70p, deci cred ca intr-adevar trebuie programare dinamica! Titlul: Răspuns: 386 Dezastru Scris de: Florian Marcu din Iunie 26, 2007, 20:49:20 Cod: Problema se poate rezolva si folosind prgramarea dinamica. Care ar trebui sa fie initializarea matricei A? Am initializat A[0,0] cu 1 si nu iese... [ Gata! S-a rezolvat... ] Titlul: Răspuns: 386 Dezastru Scris de: Taloi Bogdan Cristian din Iulie 18, 2007, 11:48:30 O mica problema -> cand nu inchid fisierul de intrare imi da 2 de non-zero exit status, cand inchid fisierul de intrare imi da 7 de non-zero exit status
:eyebrow: :'( Care-i treaba? [editat de moderator: cred ca in forma asta mesajul este mai lizibil] Titlul: Răspuns: 386 Dezastru Scris de: Savin Tiberiu din Iulie 18, 2007, 13:50:12 vezi ca nu prea cred ca ai scris corect acolo. Incearca sa postezi din nou, de data asta mai clar ce se intampla.
Titlul: Răspuns: 386 Dezastru Scris de: Taloi Bogdan Cristian din Iulie 19, 2007, 13:15:48 Lucrez in Pascal;
Am facut programul dar am uitat sa dau close(f)->f=fisierul de intrare; l-am trimis si am primit 2*raspuns corect , 3*raspuns gresit , 2*non-zero exit status si 3*time limit exceeded Mi-am dat seama de greseala si am inchis fisierul, apoi am trimis problema si am primit 7*non-zero exit status si 3*time limit exceeded. :?: :?: :-s Titlul: Răspuns: 386 Dezastru Scris de: Florian Marcu din Iulie 19, 2007, 13:37:18 Deci...poate folosesti memorie nedeclarata [vectori declarati prea mici], sau poate ai gresit numele fisierelor! ???
Titlul: Răspuns: 386 Dezastru Scris de: Taloi Bogdan Cristian din Iulie 19, 2007, 15:06:40 :bomb: NUP!!
Titlul: Răspuns: 386 Dezastru Scris de: Ivan Nicolae din Iulie 19, 2007, 21:24:41 Folosesti vre-un halt() prin program? (sau nush cum era exit() in Pascal)
Titlul: Răspuns: 386 Dezastru Scris de: Andrei Grigorean din Iulie 19, 2007, 22:07:24 Daca ne spui ca iei non-zero exit status nu inseamna prea mult, si ne este greu sa ne dam seama care ar putea fi problema (eventual o ghicim). Incearca sa explici pe scurt ce faci.
Titlul: Răspuns: 386 Dezastru Scris de: Adrian Diaconu din Iulie 19, 2007, 23:58:27 Vezi ca non-zero exit status primesti si daca imparti la 0.
Titlul: Răspuns: 386 Dezastru Scris de: Taloi Bogdan Cristian din Iulie 20, 2007, 13:00:29 Nu folosesc exit,halt,break,etc.,etc. :puke:
Fac combinari de n luate cate k.Pentru fiecare combinare inmultesc rezultatele si le adun cum zice in problema.Formula nu are nimic. :baby: Nu impart nimic la 0. Variabila cu care impart e minim 1 :surrender: Titlul: Răspuns: 386 Dezastru Scris de: Adrian Diaconu din Iulie 20, 2007, 13:15:00 Vezi sa nu iti dea un overflow pe la calculul combinarilor, in urma caruia sa ajungi sa imparti la 0. :D
Titlul: Răspuns: 386 Dezastru Scris de: Airinei Adrian din Iulie 20, 2007, 15:43:54 De ce nu postezi undeva codul sursa, poate asa cineva isi da seama ce gresesti :shock:
Titlul: Răspuns: 386 Dezastru Scris de: Taloi Bogdan Cristian din Iulie 21, 2007, 10:53:57 Uite programul. :indifferent:
Eu stiam ca nu e voie sa se posteze sursele. [-X Cod: Program dezastru; Titlul: Răspuns: 386 Dezastru Scris de: Paul-Dan Baltescu din Iulie 21, 2007, 11:10:42 Incearca sa folosesti extended in loc de real.
25! nu prea intra in longint. Eu stiam ca nu e voie sa se posteze sursele. [-X Nu prea e voie, dar nu ajungeam niciunde. :) Si oricum sursa ta nu prea merge. :P Si te rog nu mai folosi toate smileyurile pe care le ai la dispozitie pentru ca devii enervant. Titlul: Răspuns: 386 Dezastru Scris de: Andrei Grigorean din Iulie 21, 2007, 11:13:38 25! nu intra in niciun tip de date. Ar trebui sa regandesti putin problema.
Tu ai inteles problema, sau doar ai citit solutia si ai vrut sa o implementezi, poate merge? Titlul: Răspuns: 386 Dezastru Scris de: Gabriel Bitis din August 28, 2007, 00:18:31 Am incercat varianta cu dinamica...
pt exemplul problemei, Cod: 3 2 calculeaza Cn,k(combinari de n luate cate k)=3; initializeaza A[1][1]=0.3 => 0.3 0 0.3 0.15 0.3 0.39 A[n][k]=0.39 A[n][k]/Cn,k=0.39/3=0.13... imi spune cineva unde e gresala? Titlul: Răspuns: 386 Dezastru Scris de: Adrian Diaconu din August 28, 2007, 18:15:45 Nu prea inteleg ce calculezi tu pe-acolo. Astea ar trebui sa fie valorile.
Cod: A[0][0]=1; Titlul: Răspuns: 386 Dezastru Scris de: Gabriel Bitis din August 29, 2007, 00:12:56 Stii ce calculam? exact aceleasi chestii ce le calculai tu.. doar ca prima coloana nu imi era initializata cu 1...
merci mult pt ajutor :) Titlul: Răspuns: 386 Dezastru Scris de: Ionescu Robert Marius din Februarie 09, 2008, 10:34:26 Ai eu o intrebare :D.Cum pot afisa un numar cu un anumit numar de zecimale> :thumbup:
Titlul: Răspuns: 386 Dezastru Scris de: Bondane Cosmin din Februarie 09, 2008, 10:49:28 Cod: printf("%.3lf", c); Iti afiseaza numarul in functie de cate zecimale ii spui tu, in cazul asta 3. Titlul: Răspuns: 386 Dezastru Scris de: Titei Paul Adrian din Noiembrie 26, 2009, 22:38:19 Se pot obtine 100 de puncte cu backtracking recursiv? Da sau nu... ? Eu am luat 60 si nu stiu ce as putea imbunatatii.
Titlul: Răspuns: 386 Dezastru Scris de: Mircea Dima din Noiembrie 26, 2009, 22:52:17 Nu cred ca poti obtine 100 pcte cu backtracking (poate doar daca sunt testele proaste)
Titlul: Răspuns: 386 Dezastru Scris de: Paul-Dan Baltescu din Noiembrie 26, 2009, 23:17:50 Se poate, dar folosind optimizari serioase de cod. Cu solutia cu programare dinamica iei 100 fara sa-ti bati capul.
Titlul: Răspuns: 386 Dezastru Scris de: Tatar Cornel din Februarie 21, 2011, 15:54:31 gg de probleme ](*,)
Titlul: Răspuns: 386 Dezastru Scris de: Gall Mihnea din Decembrie 07, 2012, 08:39:57 Salut !
Am trimis o sursa care lua 100 si acum ia 80. Se mai poate lua 100 cu backtracking ? Multumesc |