•hysep
Strain
Karma: 2
Deconectat
Mesaje: 12
|
 |
« Răspunde #25 : Aprilie 06, 2009, 14:44:10 » |
|
Ordinea cifrelor din noul numar trebuie sa fie aceeasi ca in numarul initial. De exemplu, daca ai numarul initial 4512, si elimini k=2 cifre, atunci rezultatul este 45. Tu probabil afisezi 54 [ ceea ce nu e corect, pt ca 4 trebuie sa apara inaintea lui 5 ]. Mie imi da bine imi da 45 pentru testul tau:D Mai datimi teste va rog daca vrei iti dau sursa mea la alibaba(100 puncte) daca-mi dai sursa ta la palindrom2 
|
|
|
|
|
Memorat
|
|
|
|
|
•Florian
|
 |
« Răspunde #26 : Aprilie 06, 2009, 14:46:52 » |
|
Ordinea cifrelor din noul numar trebuie sa fie aceeasi ca in numarul initial. De exemplu, daca ai numarul initial 4512, si elimini k=2 cifre, atunci rezultatul este 45. Tu probabil afisezi 54 [ ceea ce nu e corect, pt ca 4 trebuie sa apara inaintea lui 5 ].
Scuza-ma. Nu am fost atent. Rezultatul nu este 45, ci 52. Deci aici gresesti! 
|
|
|
|
|
Memorat
|
|
|
|
|
•andrici_cezar
|
 |
« Răspunde #27 : Aprilie 06, 2009, 19:15:33 » |
|
ms  am inteles unde am gresit acum trebuie doar sa rezolv greseala 
|
|
|
|
|
Memorat
|
|
|
|
•zloteanu.adrian
Strain
Karma: -9
Deconectat
Mesaje: 38
|
 |
« Răspunde #28 : Aprilie 08, 2009, 14:56:56 » |
|
imi da eroare de compilare  dar acasa imi functioneaza perfect 
|
|
|
|
|
Memorat
|
|
|
|
|
•Florian
|
 |
« Răspunde #29 : Aprilie 08, 2009, 15:06:38 » |
|
Pai tu nu faci cu fisiere? Vad ca folosesti functia "cin" din iostream. Nu ai voie.
|
|
|
|
|
Memorat
|
|
|
|
•zloteanu.adrian
Strain
Karma: -9
Deconectat
Mesaje: 38
|
 |
« Răspunde #30 : Aprilie 08, 2009, 15:09:30 » |
|
da,mi-am dat seama dar tot imi pica un test,desi nu stiu sigur care (nota:cum de mi-ai vazut sursa?)
|
|
|
|
|
Memorat
|
|
|
|
|
•Florian
|
 |
« Răspunde #31 : Aprilie 08, 2009, 15:12:41 » |
|
Pai nu ti-am vazut sursa. Ti-am vazut doar mesajul emis de evaluator, in borderoul de evaluare. Tie iti pica ultimul test, deoarece iti iese din timp. Citeste documentatia ca sa intelegi mai bine cum sa umbli pe site. 
|
|
|
|
|
Memorat
|
|
|
|
|
•Mishu91
|
 |
« Răspunde #32 : Iulie 29, 2009, 07:57:07 » |
|
pe ea o calculez astfel nou=nou*10+max Avand in vedere ca N, K <= 10000, e cam greu sa-ti retii in nou un numar de 10000 de cifre. Apoi, din ce am citit, solutia ta este de complexitate O(N 2), si nici prea corecta nu este. Tu cauti maximul, iar dupa ce l-ai gasit cauti maximul elementelor de dupa el (asa am inteles eu, cel putin) si tot asa. Dar daca maximul este pe ultima pozitie ce te faci? Poti citi articolul cu solutii pentru a te ajuta sa gasesti un algoritm rapid si corect.
|
|
|
|
|
Memorat
|
|
|
|
•davidurs1
Strain
Karma: 1
Deconectat
Mesaje: 2
|
 |
« Răspunde #33 : Septembrie 02, 2009, 14:03:40 » |
|
ma ajuta careva....? la toate testele care le incerc imi merge...dar cand dau la evaluator.. 0 pct!.. Code: #include<fstream.h> main() { long n,k,a[1000]={0},i,j,c=0,m=0,min,max=0,l=0,p=0; ifstream f("alibaba.in"); ofstream g("alibaba.out");
f>>n; f>>k; f>>j; i=n; while(j) { a[i]=j%10; i--; j=j/10; } for(j=10; j>0; j--) { max=0; if(l==0) for(i=1; i<=n; i++) if(a[i]!=j)max++; if(max==n)l=j; } while(c!=k) for(i=1; i<n; i++) { if(a[n] < a[n-1] && p==0 && c!=k){ a[n]=l; c++; p++; } if(a[i] < a[i+1] && c!=k){ a[i]=l; c++; } } for(i=1; i<=n; i++) if(a[i]!=l) m=m*10+a[i]; g<<m; return 0; }
... [editat de moderator] Foloseste tagul code cand postezi cod pe forum.
|
|
|
|
« Ultima modificare: Septembrie 02, 2009, 20:52:56 de către Sima Cotizo »
|
Memorat
|
|
|
|
|
•Mishu91
|
 |
« Răspunde #34 : Septembrie 02, 2009, 14:28:51 » |
|
Foloseste tagul "code" cand postezi o sursa, si in plus fisierul de intrare este alibaba.in respectiv alibaba.out
|
|
|
|
|
Memorat
|
|
|
|
•davidurs1
Strain
Karma: 1
Deconectat
Mesaje: 2
|
 |
« Răspunde #35 : Septembrie 02, 2009, 14:50:06 » |
|
... o sa modific "tagurile"...  deocamdata nu stiu...nu am mai folosit infoarena... am schimbat si in alibaba.out/in... dar nu e aceea problema...vede careva alta problema..?
|
|
|
|
|
Memorat
|
|
|
|
•unknownliviu
Strain
Karma: 1
Deconectat
Mesaje: 5
|
 |
« Răspunde #36 : Ianuarie 14, 2010, 17:46:46 » |
|
Imi zice si mie cineva ce gresesc daca sortez crescator vectorul care contine numarul(l-am considerat vector char)si apoi afisez cifrele de la cea mai mare pana la a n-k cifra 
|
|
|
|
|
Memorat
|
|
|
|
|
•vladtarniceru
|
 |
« Răspunde #37 : Aprilie 07, 2010, 18:54:55 » |
|
daca am: 5 3 12345 eu raman cu 45 nu? adica nu pot sa iau 54(sa fie in ordine  )
|
|
|
|
|
Memorat
|
|
|
|
|
•gabitzish1
|
 |
« Răspunde #38 : Aprilie 07, 2010, 20:13:59 » |
|
Ramai cu 45.
|
|
|
|
|
Memorat
|
|
|
|
•DEYDEY2
Strain
Karma: 1
Deconectat
Mesaje: 49
|
 |
« Răspunde #39 : Iunie 23, 2010, 21:45:44 » |
|
pentru ca trebuie sa fie in oridinea di numarul initial cifrele;) cu un back iau 20 pkt si restu tle... da nush dc ma jmir la 10000 de cifre
|
|
|
|
|
Memorat
|
|
|
|
|
•gabitzish1
|
 |
« Răspunde #40 : Iunie 24, 2010, 07:25:12 » |
|
Of of..  Nu ti-a venit tie o idee mai buna decat backtracking? Citeste pe forum si subiectul "528 Trompeta", si daca tot nu te ajuta, citeste articolul de solutii al concursului la care s-a dat problema Trompeta(ceva autumn warmup).
|
|
|
|
|
Memorat
|
|
|
|
•DEYDEY2
Strain
Karma: 1
Deconectat
Mesaje: 49
|
 |
« Răspunde #41 : Iunie 24, 2010, 12:15:26 » |
|
 )  )  )  ) da si eu m-am gandit ca-i ciudata ideea da am fost curios cat iau  oricum am incercat altceva si asta are doar 3 tle si nush dc...
|
|
|
|
|
Memorat
|
|
|
|
•DEYDEY2
Strain
Karma: 1
Deconectat
Mesaje: 49
|
 |
« Răspunde #42 : Iunie 25, 2010, 16:36:53 » |
|
k  scuze  nu inteleg ce-i gresit la codul meu...
|
|
|
|
« Ultima modificare: Iunie 25, 2010, 17:15:20 de către Tudorica Andrei »
|
Memorat
|
|
|
|
|
•SpiderMan
|
 |
« Răspunde #43 : Iunie 25, 2010, 16:55:33 » |
|
Stii ca testele nu se fac publice ( inclusiv in particular ) . Si editeaza-ti mesajele 
|
|
|
|
|
Memorat
|
|
|
|
•DEYDEY2
Strain
Karma: 1
Deconectat
Mesaje: 49
|
 |
« Răspunde #44 : Iunie 25, 2010, 17:36:13 » |
|
am folosito varianta prin care declar k minime si le stergdin sir... imi pate da cineva va rog un exemmpu care nu ar merge??
|
|
|
|
|
Memorat
|
|
|
|
•andrei.finaru
Strain
Karma: 8
Deconectat
Mesaje: 26
|
 |
« Răspunde #45 : August 24, 2010, 15:01:55 » |
|
Am o problema: nu mai stiu cum exact transform un char in int, atunci cand charul memoreaza o cifra. Eu tineam minte ca trebuie sa scazi caracterul '48', adica '0'-'48'=0, '1'-'48'=1 etc, si intr-adevar cu aceasta implementare la mine afiseaza rezultatele corecte la toate testele pe care i le dau. Totusi, cand incarc sursa, evaluatorul ma anunta ca raspunsul e incorect. Nu e bun '48'-ul? Si daca nu, cum e corect?
|
|
|
|
|
Memorat
|
|
|
|
|
•blasterz
|
 |
« Răspunde #46 : August 24, 2010, 15:27:47 » |
|
daca e cifra pui
int c = int (cifra - '0' );
daca e litera mica
int c = int (cifra - 'a');
iar daca e litera mare
int c = int (cifra - 'A');
|
|
|
|
|
Memorat
|
|
|
|
|
•devilkind
|
 |
« Răspunde #47 : August 24, 2010, 22:01:42 » |
|
De fapt acel 48 de care tineai tu minte e codul ascii al lui '0', doar ca nu trebuie sa scazi '48' ci tre sa scazi 48 (numarul nu stringul). Ex: '6' - 48 = 6
|
|
|
|
|
Memorat
|
|
|
|
|
•SpiderMan
|
 |
« Răspunde #48 : August 25, 2010, 09:16:45 » |
|
Reiau ce spunea Savin, este o diferenta mare intre '0' si 0. '0' ( cu ghilimele ) reprezinta caracterul cu codul ASCII 48, iar 0 ( fara ghilimele ) reprezinta codul ASCII al caracterului corespunzator ( in acest caz este caracterul NULL ) . Daca faci spre exemplu un char h = '0' si il afisezi ca si char ( "%c" ) , o sa se afiseze 0 pe ecran ( fara ghilimele ) , iar daca afisezi ca si int ( "%d" ) , o sa se afiseze 48. Daca faci un char h = 50, si il afisezi pe ecran ca si char o sa se afiseze 2 ( fara ghilimele ) , iar daca afisezi ca si int o sa se afiseze 50. Si in legatura cu relatiile date de Mircea, nu trebuie pus int ( ) , e destul sa faci int c = cifra - '0' ( int c = cifra - 48 ) .
|
|
|
|
|
Memorat
|
|
|
|
•andrei.finaru
Strain
Karma: 8
Deconectat
Mesaje: 26
|
 |
« Răspunde #49 : August 25, 2010, 10:14:17 » |
|
Multumesc pentru toate lamuririle  . Am reusit sa iau 100
|
|
|
|
|
Memorat
|
|
|
|
|