Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 377 Next  (Citit de 10709 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« : Martie 25, 2007, 13:26:14 »

Aici puteţi discuta despre problema Next.
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #1 : Martie 25, 2007, 20:48:29 »

D incape pe long long ? Mie pt numere de 14 cifre D imi devine negativ...in rest nu vad sa fi gresit la problema (operatiile le fac ca si in articol)  d'oh! [40+6*wa]
« Ultima modificare: Martie 25, 2007, 20:50:32 de către Bondane Cosmin Cosi » Memorat

vid...
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #2 : Martie 25, 2007, 20:56:52 »

D incape pe long long ( long long poate retine numere de 18 cifre ).
Memorat
raduzer
Client obisnuit
**

Karma: 62
Deconectat Deconectat

Mesaje: 71



Vezi Profilul
« Răspunde #3 : Martie 26, 2007, 11:52:07 »

nu inteleg de ce iau doar 20 de pct.
inainte citeam caracter cu caracter si luam 4 ok-uri si 6 non-zero-exit status, iar acum citesc cu string (n-ul) si dupa aceea il transform, dar iau 2 ok-uri si 8 incorect-uri
pe toate testele pe care le-am dat imi citeste bine, iar in program nu am schimbat nimic(job 36666)
imi puteti da o idee va rog asupra a ceea ce am gresit?


[later] am luat 100. multumesc oricum:)
« Ultima modificare: Martie 26, 2007, 13:51:49 de către Radu Zernoveanu » Memorat
edu2004eu
Strain


Karma: -6
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #4 : Aprilie 18, 2007, 13:21:05 »

Eu am incercat sa retin N si D pe un unsigned long... mie pe PCul meu imi merge, dar pe infoarena imi da: 4 WA, 1 TLE si in rest Killed by signal 11. Imi puteti spune care poate fi problema?
Memorat
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #5 : Aprilie 18, 2007, 13:51:39 »

Nu cred ca e infoarena de vina Tongue ... citeste documentatia evaluatorului, repara killed by signal 11... si apoi mai dati niste teste, sigur ai omis ceva...

Later edit: din cate imi aduc aminte cam trebuie numere mari la prb asta, sper sa nu ma insel Smile
Memorat

....staind....
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #6 : Aprilie 18, 2007, 13:58:46 »

Poate ai omis asta:

Citat
# 1 ≤ N < 10^1.000.000

 Rolling Eyes
Memorat

Am zis Mr. Green
edu2004eu
Strain


Karma: -6
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #7 : Aprilie 18, 2007, 14:00:13 »

Poate ai omis asta:

Citat
# 1 ≤ N < 10^1.000.000

 Rolling Eyes

Nu, nu am omis asta. Chiar am luat-o in considerare. Stiu ca nu ar trebui sa iau 100 de pct dar nici chiar 0. Cel putin un test este cu numere mici.

[Later Edit] Am incercat sa rezolv problema si cu metoda care este publicata pe infoarena, la fel, pe PCul meu merge bine, si pe infoarena imi da 7 WA si 3 Signal 11

[Even Later Edit] Nevermind, nu am citit eu bine. Trebuia sa lucram cu operatii pe nr mari. Tongue
« Ultima modificare: Aprilie 18, 2007, 14:44:11 de către Luca Eduard » Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #8 : Aprilie 20, 2007, 23:13:44 »

eu imi declar d-ul long long si la mai mult de 10 cifre devine negativ (de asta iau numai 60 de puncte) si nu inteleg de ce Brick wall pls help
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #9 : Aprilie 21, 2007, 07:43:15 »

in borland long long == long int == 32 biti, probabil de asta pe calculatorul tau devine negativ. In ceea ce priveste evaluare de pe site, esti sigur ca ai afisat cum trebuie? dak faci cu printf tre sa pui formatul "%lld".
« Ultima modificare: Aprilie 21, 2007, 07:45:18 de către Savin Tiberiu » Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #10 : Aprilie 21, 2007, 08:47:39 »

Cod:
long long d;
  scanf("%lld",&d);
asa fac citirea dar parca d-ul e de tip int(din moment ce devine negativ la mai mult de 10 cifre) desi eu l-am declarat long long. Pana acum n-am mai prea lucrat cu numere pe 64 de biti si nu prea stiu ce am omis.
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #11 : Aprilie 21, 2007, 08:53:01 »

Cod:
long long d;
  scanf("%lld",&d);

Mi se pare mie sau ai declarat d-ul long long si ai citit cu "%d"? Raised eyebrow
Memorat
marcelcodrea
Nu mai tace
*****

Karma: 173
Deconectat Deconectat

Mesaje: 217



Vezi Profilul
« Răspunde #12 : Aprilie 21, 2007, 08:56:56 »

Cod:
long long d;
  scanf("%lld",&d);
asa fac citirea dar parca d-ul e de tip int(din moment ce devine negativ la mai mult de 10 cifre) desi eu l-am declarat long long. Pana acum n-am mai prea lucrat cu numere pe 64 de biti si nu prea stiu ce am omis.

Daca lucrezi in Borland  d-ul declarat long long este pe 32 pe biti ! De aceea, la tine devine negativ cand de fapt , in sursa trimisa , si la evaluare el se va comporta ca un numar pe 64 biti .
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #13 : Aprilie 21, 2007, 10:04:04 »

eu imi declar d-ul long long si la mai mult de 10 cifre devine negativ (de asta iau numai 60 de puncte) si nu inteleg de ce Brick wall pls help

Ai grija la operatiile pe numere mari. Probabil acolo gresesti.
Memorat

vid...
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #14 : Aprilie 21, 2007, 12:05:22 »

probabil k gresesc la operatiile pe numere mari(desi le-am facut k in articolul de pe infoarena). dar qm se face citirea numerelor long long dak folosesc scanf? adik dak %d e pt int, pt long long ce e?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #15 : Aprilie 21, 2007, 12:07:00 »

atat citirea, cat si afisarea :

int  - %d
long long - %lld
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #16 : Aprilie 21, 2007, 12:15:27 »

aha mz makar stiu k greseala nu e la citire
Memorat
florea
Strain


Karma: -3
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #17 : Aprilie 25, 2007, 17:06:12 »

Buna...eu lucrez in pascal...imi spune si mie cineva cum citesc un numar de 1000000 de cifre? cu string nu merge decat pana la 255.....cine ma poate ajuta?

[later] cu un vector s-ar putea. dar CUM? ca nu pot citi doar cate un caracter
Memorat
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #18 : Aprilie 25, 2007, 17:26:18 »

Pai, citesti caracter cu caracter, ar trebui sa fie ok asa, e mai lent, dar merge.. Pentru operatii cu numere mari este un articol, in sectiunea de articole.

L.E.: Scuze, implementarile sunt in c, dar daca intelegi principiul poti face asa ceva si in pascal, da-mi un PM daca ai prb in a intelege..
« Ultima modificare: Aprilie 25, 2007, 17:29:41 de către Andrei Homorodean » Memorat

....staind....
florea
Strain


Karma: -3
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #19 : Aprilie 25, 2007, 17:51:24 »

Peanutz ms pt sfat...m-am gandit si eu la asta dar problema apare acum......in fisierul.in in pascal pe o linie incap numai 255 de carcatere .....daca iei au pus in test de 1000000 de cifre...atunci mie imi apare in fisier pe mai multe linii. Si acum apare problema ca eu nu stiu cate carcatere sunt si atunci trebuie sa pun sa citeasca caracter cu caracter pana se termina fisierul. BUN, dar atunci imi citeste ci al 2 numar si nu mai am cum sa il aflu dup-aia..intelegi?
iti las un id (al unu i prieten dar sunt eu pe al acum) de mess in caz ca ma poti ajuta bogdanpopescu88

Later Edit:

Care imi poate pune si mie de ce sursa mea ia numai 90 de puncte? Eu sunt 100% sigur ca am facut foarte bine tot....la testul 2 imi da incorect

Cod:
var a,c:array[0..10000000]of byte;
    uc:integer;
    n:int64;
    i,j:longint;
    m,l,aux,aux2,rest:int64;
    s:ansistring;
    fi,fo:text;
procedure imp(k:int64);
begin
     j:=1;
     for i:=1 to m do
        begin
             aux:=aux*10+a[i];
             if aux>k then
                begin
                     c[j]:=aux div k;
                     rest:=aux mod k;
                     inc(j);
                     aux:=rest;
                end;
        end;
end;
procedure sum(k:int64);
begin
     aux2:=l;
     for i:=m downto 0 do
        begin
             aux2:=aux2+a[i];
             uc:=aux2 mod 10;
             c[i]:=uc;
             aux2:=aux2 div 10;
        end;
end;
begin
     assign(fi,'next.in'); reset(fi);
     assign(fo,'next.out'); rewrite(fo);
     a[0]:=0;
     readln(fi,s);
     for i:=1 to length(s) do
         val(s[i],a[i]);
     m:=length(s);
     readln(fi,n);
     aux:=0;
     imp(n);
     if aux=0 then
        for i:=1 to m do
             write(fo,a[i])
      else
        begin
             l:=n-aux;
             sum(l);
             if a[0]<>0 then
                write(fo,c[0]);
             for i:=1 to m do
                write(fo,c[i]);
        end;
     close(fi);
     close(fo);
end.


NEVER MIND AM LUAT 100
« Ultima modificare: Aprilie 28, 2007, 11:06:18 de către florea cristian » Memorat
ciprianf
De-al casei
***

Karma: 11
Deconectat Deconectat

Mesaje: 104



Vezi Profilul
« Răspunde #20 : Februarie 23, 2008, 09:52:59 »

Bai frate...NU inteleg, am declarat vectorii de 2.000.000  si eu tot iau KBS 11 ....ce naiba?Huh??
« Ultima modificare: Februarie 23, 2008, 10:01:11 de către Farcasanu Ciprian » Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #21 : Februarie 23, 2008, 12:08:43 »

Limita pentru aceasta problema este de 8 mega. Vad ca intr-una din surse ai declarat 2 vectori long long de 2.000.000 de elemente. Tu ai alocat aproape 32 de mega Smile.
Memorat

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

Karma: 11
Deconectat Deconectat

Mesaje: 104



Vezi Profilul
« Răspunde #22 : Februarie 23, 2008, 12:26:40 »

pf. eu am citit ce scria acolo la KBS 11( accesat memorie invalida) si credeam ca vectorii sunt prea mici....si ii maream de fiecare data....

Later edit: Am facut-o pana la urma dar cu mari batai de cap.... am avut 2 greseli in sursa initiala:
1. declaram vectorii aia prea mari.
2. nu stiam ca are legatura daca pun "int functie()"....sau "long long functie()".......in fine, am aflat asta de la un prieten...
« Ultima modificare: Februarie 23, 2008, 13:09:52 de către Farcasanu Ciprian » Memorat
DraStiK
Nu mai tace
*****

Karma: 131
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #23 : Ianuarie 02, 2009, 17:49:58 »

daca lucrezi in dev cpp nu ar trebui sa mearga bine si cu D peste 10^10?

adik eu cred k am rezolvat bine, iau 80p WA pe testele 3 si 4, iar cand verific pe calculator cu D peste 10^10 imi afiseaza dubios
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #24 : Ianuarie 02, 2009, 17:59:23 »

in dev-cpp ca sa afisezi long long tre sa folosesti %I64d (i mare).
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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