Afişează mesaje
Pagini: 1 ... 7 8 [9] 10
201  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 484 Numere 5 : Decembrie 17, 2009, 12:43:03
nu inteleg, de ce iau Memory Limit Exceeded, ce gresesc?
am dat m=n*n si iau killed by signal 11 pe unul, pe restul mle
am pus long long la toate si iau mle


int n;
char v[500001];
long long m;
long int i,x;


//nu va mai deranjati sa raspundeti ca am aflat greseala/greselile
202  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 484 Numere 5 : Decembrie 17, 2009, 12:37:50
Cod:
#include<iostream>
#include<fstream>

using namespace std;

ifstream f("numere5.in");
ofstream g("numere5.out");

int n;
char v[500001];
long int x,i,m;

int main()

{  

f>>n;

if(n*n>500000)
m=500000;
else
m=n*n;

    for(i=1;i<=m;i++)
{
f>>x;
   v[x]=1;
}


    for(i=1;i<=m;i++)
{
        if(v[i]==0 && v[i-1]==1)
   g<<i<<" ";
if(v[i]==0 && v[i+1]==1)
   g<<i;
}
return 0;
}

un WA pe testul 9, si 4 MLE. Imi spuneti si mie ce e gresit va rog?Sad


Folosesti prea multa memorie. Incearca fara vector.  Smile

pai cum se face fara vector? la comentarii scriau toti ca au facut cu vector

[editat de moderator] ai postat consecutiv...
203  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 478 Dir : Decembrie 14, 2009, 18:29:41
scuze, ca n-am postat unde trebuie.Era din cauzaa  a "f.getline(s,250)", cea mai prosteasca greseala. nu am fost atent ca se pot citi maxim 1600 de caractere  Ok
204  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / problema dir : Decembrie 14, 2009, 16:58:27
ma chinui de 2 zile la www.infoarena.ro/problema/dir si iau doar 60 de puncte (testele 6-9 inclusiv) sunt gresite.m-am uitat pe testele de la oji..... problema e ca nu imi parcurge toate folderele, la testele astea mai mari, si nu am cum sa ma corectez.puteti sa-mi dati vreun exemplu va rog , sa testez daca imi merge bine. chiar nu stiu, nu imi dau seama ce nu e in regula...poate am uitat vreun caz particular sau ceva?  Brick wall
205  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: oji clasa 10 : Decembrie 11, 2009, 19:43:43
ma refer la probleme cu ecuatii si sa scrii x sau cu expresii sau cu siruri de caractere (retete si asa)
206  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: oji clasa 10 : Decembrie 11, 2009, 14:32:02
Raised eyebrow sti exista sectia download de unde poti downlada problemele ce au fost propuse anii trecuti  si sa le incerci pe sit Tongue
ps:  Odata ce ai stapanit lee sau orice alt algoritm apucate sa "inveti" altul ca sa nu bati pasul pe loc.


nu te mai baga te rog, ca am cerut doar nume de probleme cu lee si lexicografica, nu sugestii
207  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: oji clasa 10 : Decembrie 10, 2009, 18:38:26
ce credeti ca ar putea veni la a 10-a (in anii trecuti am vazut ca sa dat lee si analiza lexicografica)
Postati niste probleme de pe site cu (expresii,inegalitati,ecualtii) va rog si cat mai multe leeuri(am facut rj,sudest,insule,ecuatii2).altele...?  Applause
208  infoarena - concursuri, probleme, evaluator, articole / Informatica / recursivitate : Noiembrie 30, 2009, 11:12:43
Cod:
void permut (int k,int n,int p[10])
 { int i,c;
   if(k==n+1)
    tipar();
   else
      { p[k] = k;
          for(i=1;i<=k;i++)
  { c=p[i];
p[i]=p[k];
p[k]=c;
permut(k+1,n,p);
c=p[i];
p[i]=p[k];
p[k]=c;
  }
   }
  }

int main()
 { f>>n;
   permut(1,n,p);
 } 

imi explicati si mie va rog recursivitatea in interiorul unui for ? cum functioneaza ca nu inteleg?
209  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: weird : Noiembrie 30, 2009, 07:58:04
imi merge dar iau doar 82 de puncte (3 lungimi minime gresite).Nu tratez toate cazurile??
210  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: weird : Noiembrie 29, 2009, 11:38:57
am facut acum chestia cu a[inou][jnou] == 2
tot e ceva gresit , ma poti ajuta ? cand si de ce trebuie resetat o ?
Cod:
for(i=1;i<=n;i++)
{   for(j=1;j<=m;j++)
if(a[i][j] == 1)
{
  first=0;
          last=0;
          o2[i][j]=1;
          qi2[last]=i;
          qj2[last]=j;
              last++;
                   while (!isempty())
       {
                     i=qi2[first];
                 j=qj2[first];
first++;
                             inou = i+1;
                         jnou = j;
if (a[inou][jnou] == 0)
if (o2[inou][jnou] > 1+ o2[i][j])
{
                         o2[inou][jnou] = 1+ o2[i][j];
                         qi2[last] = inou;
                         qj2[last] = jnou;
last++;
}
                     inou = i-1;
                         jnou = j;
                         if (a[inou][jnou] == 0)
if (o2[inou][jnou] > 1+ o2[i][j])
{
o2[inou][jnou] = 1+ o2[i][j];
                         qi2[last] = inou;
                         qj2[last] = jnou;
                         last++;
}
                     inou = i;
                         jnou = j+1;
if (a[inou][jnou] == 0)
                         if (o2[inou][jnou] > 1+ o2[i][j])
{
o2[inou][jnou] = 1+ o2[i][j];
                         qi2[last] = inou;
qj2[last] = jnou;
                         last++;
                            }
                         inou = i;
jnou = j-1;
                         if (a[inou][jnou] == 0)
                         if (o2[inou][jnou] > 1+ o2[i][j])
{
                         o2[inou][jnou] = 1+ o2[i][j];
qi2[last] = inou;
                         qj2[last] = jnou;
last++;
                            }
                   
}
                 
   

    }

}
211  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: weird : Noiembrie 29, 2009, 11:07:51
asta e secventa mea de rezolvare a problemei   Brick wall
imi face doar pt primele 2 margini


Cod:
for(i=1;i<=n;i++)
{   for(j=1;j<=m;j++)
if(a[i][j] == 1)
{ first=0;
  last=0;
  o2[i][j]=1;
  qi2[last]=i;
  qj2[last]=j;
      last++;
    while (!isempty()){
    i=qi2[first];
j=qj2[first];
    first++;
        inou = i+1;
    jnou = j;
      if (a[inou][jnou] == 0)
    if (o2[inou][jnou] > 1+ o2[i][j])
      {
   o2[inou][jnou] = 1+ o2[i][j];
   qi2[last] = inou;
   qj2[last] = jnou;
   last++;
      }
inou = i-1;
    jnou = j;
    if (a[inou][jnou] == 0)
   if (o2[inou][jnou] > 1+ o2[i][j])
   {
o2[inou][jnou] = 1+ o2[i][j];
qi2[last] = inou;
qj2[last] = jnou;
last++;
    }
inou = i;
    jnou = j+1;
    if (a[inou][jnou] == 0)
    if (o2[inou][jnou] > 1+ o2[i][j])
    {
   o2[inou][jnou] = 1+ o2[i][j];
   qi2[last] = inou;
   qj2[last] = jnou;
   last++;
    }
    inou = i;
    jnou = j-1;
    if (a[inou][jnou] == 0)
   if (o2[inou][jnou] > 1+ o2[i][j])
  {
o2[inou][jnou] = 1+ o2[i][j];
qi2[last] = inou;
qj2[last] = jnou;
last++;
  }
if (a[inou][jnou] == 2)
    o[inou][jnou]=o2[i][j];
       }
for(k=1;i<=n;i++)
for(l=1;j<=m;j++)
o2[k][l]=n*n*n*n*n;

}

}
212  infoarena - concursuri, probleme, evaluator, articole / Informatica / weird : Noiembrie 29, 2009, 10:32:37
in problema insule ( trebuie sa unesc 2 insule (una de elem 1 cu alta de elem 2) printr-un pod de lungime minima)
incerc sa scriu lee-ul clasic pt toate elementele 1 iar apoi un lee pt toate elementele 2 (pasii doar pe "0"-apa)

problema e, ca pt elementele 1 nu imi functioneaza lee-ul decat pentru prima margine pe care o gaseste?

aici e codul
pls help, ma chinui de 4 ore

Cod:

for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
  o[i][j]=n*n*n*n*n;

for(i=1;i<=n;i++)
{   for(j=1;j<=m;j++)
if(a[i][j] == 1)
{
first=0;
        last=0;
o[i][j]=1;
qi1[last]=i;
qj1[last]=j;
    last++;
    while (!isempty()){
    i=qi1[first];
j=qj1[first];
    first++;
        inou = i+1;
    jnou = j;
      if (a[inou][jnou] == 0)
    if (o[inou][jnou] > 1+ o[i][j])
      {
   o[inou][jnou] = 1+ o[i][j];
   qi1[last] = inou;
   qj1[last] = jnou;
   last++;
      }
inou = i-1;
    jnou = j;
    if (a[inou][jnou] == 0)
   if (o[inou][jnou] > 1+ o[i][j])
   {
o[inou][jnou] = 1+ o[i][j];
qi1[last] = inou;
qj1[last] = jnou;
last++;
    }
inou = i;
    jnou = j+1;
    if (a[inou][jnou] == 0)
    if (o[inou][jnou] > 1+ o[i][j])
    {
   o[inou][jnou] = 1+ o[i][j];
   qi1[last] = inou;
   qj1[last] = jnou;
   last++;
    }
    inou = i;
    jnou = j-1;
    if (a[inou][jnou] == 0)
   if (o[inou][jnou] > 1+ o[i][j])
  {
o[inou][jnou] = 1+ o[i][j];
qi1[last] = inou;
qj1[last] = jnou;
last++;
  }
    }
}
}
213  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2010 / Răspuns: Algoritmiada 2010, Runda 1 : Noiembrie 21, 2009, 19:59:05
succes tuturor  Banana
214  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: problemasudest : Noiembrie 21, 2009, 14:30:46
Cod:
	while(k>=0){
   if(o[i-c[k]][j]+a[i][j]==o[i][j])
   {
   
   pozi[ct]=i-c[k];
           pozj[ct]=j;
   i=i-c[k];
           k=k-1;
       ct++;}
   else
   {   pozj[ct]=j-c[k];
           pozi[ct]=i;
   j=j-c[j];
           k=k-1;
       ct++;}}

asta e secventa in care ma intorc din n,n in 1,1 sa aflu traseul bun.. ce e gresit? in fisier imi scrie de 6 ori coordonatele finale(adica n,n) in loc sa scrie drumul bun  Brick wall

[edit 1]
am uitat sa precizez pozi - vectorul pt pozitiile bune i
                            pozj - vectorul pt pozitiile bune j
                            k - numarul de comenzi
                            a - matricea citita
                            o - numarul maxim de cartofi culesi pana in pozitia i,j

[edit 2]
done, trebuia i in loc de k, si mai era o greseala la afisare  Yahoo!
KILLED BY SIGNAL 11 LA 4 TESTE.Help!

[editat de admin] Nu posta consecutiv. Foloseste butonul "modifica"!
215  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 492 Sudest : Noiembrie 20, 2009, 22:45:11
Se face cu programare dinamica . Smile

profu meu zice ca se face cu lee foarte usor... si mai multi mi-au zis.
imi explicati va rog ideea?
216  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 492 Sudest : Noiembrie 20, 2009, 22:13:21
rezolvare cu lee? ideea ? explicati-mi ca unui copil de clasa primara pt ca am iq cam redus in comparatie cu geniile de aici  Weightlift
217  infoarena - concursuri, probleme, evaluator, articole / Informatica / problemasudest : Noiembrie 20, 2009, 22:01:36
imi explicati va rog cum serezolva prob sudest cu lee?explicati-mi cat mai clar si ca unui copil de clasa II pentru ca sunt foarte prost si nu inteleg mai nimic.(mi-au explicat vreo 3 persoane prin mess,fiecare diferit(la o explicatie imi da segmentation fault.. in fine.. ideea).La ce ma ajuta lee? cum fac max de cartofi si cum reconstruiescd drumul ms!
218  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: backtracking : Noiembrie 19, 2009, 20:53:46
nu Confused
219  infoarena - concursuri, probleme, evaluator, articole / Informatica / backtracking : Noiembrie 19, 2009, 17:15:45
imi explicati si mie va rog cum functioneaza aceasta metoda? si eventual un exemplu...sau daca exista vreun algoritm fundamental(in limbaj c++ simplu_)multumesdc
220  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: insule ( fill) : Noiembrie 19, 2009, 17:00:56
multumesc, sunt  Brick wall prost recunosc Aha
221  infoarena - concursuri, probleme, evaluator, articole / Informatica / insule ( fill) : Noiembrie 18, 2009, 18:04:47
Cod:
void fill(int x, int y)
{
if (a[x][y-1]==1) fill(x,y-1);
if (a[x][y+1]==1) fill(x,y+1);
if (a[x-1][y]==1) fill(x-1,y);
if (a[x+1][y]==1) fill(x+1,y);
if (a[x-1][y-1]==1) fill(x-1,y-1);
if (a[x-1][y+1]==1) fill(x-1,y+1);
if (a[x+1][y-1]==1) fill(x+1,y-1);
if (a[x+1][y+1]==1) fill(x+1,y+1);
}


ce nu e in regula cu functia asta?
imi da segmentation fault
cum aflu numarul de insule intr-o matrice cu val 0(apa),1,2,3 (cu ajutorul acestei functii) si de ce imi da segmentation fault?
222  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 485 Exp : Noiembrie 18, 2009, 16:25:27
aici iau 40 puncte din 100 pct. si la eval oji 2006 iau 100 pucte. Brick wall
223  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: oji clasa 10 : Noiembrie 16, 2009, 15:48:40
Hmm... sincer nu mai stiu exact ce am facut in clasa a 10-a. Cred ca siruri de caractere, functii (subprograme), structuri de date, liste. Nu stiu daca mai contine ceva manualul. Metodele de programare ce se cer ar fi: greedy, backtracking, divide et impera si programare dinamica. Daca vrei sa faci pentru olimpiada cauta cartea verde de a 10-a pentru grupele de performanta sau cartea albastra de Emanuela Cerchez pentru clasa a 10-a. Cele doua sunt cele mai folosite, dar cred ca exista deja pe infoarena probleme si articole din care sa inveti. Manualul ce l-am folosit eu la clasa e acesta, dar nu mi se pare asa bun.. Ah, si daca lucrezi in C++ si vrei sa inveti STL si OOP + metodele de programare iti recomand cartea asta.

@ sima_cotizo : mie cel putin mi se pare greu sa scriu eu algoritmii acestia fara sa-i fi citit...

am cumparat-o cea cu "algoritmi fundamentali".pare ok,inteleg...sper ca o sa-mi fie de folos
224  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: oji clasa 10 : Noiembrie 15, 2009, 19:15:58
mai exact te rog  Evil or Very Mad n-am primit manual de info de la scoala si de aceea intreb Sad
sau ce carti as putea cumpara dintr-o librarie din sibiu Eh?
225  infoarena - concursuri, probleme, evaluator, articole / Informatica / oji clasa 10 : Noiembrie 15, 2009, 14:41:09
ce ar trebui sa cunosc pt oji la clasa 10 ca sa pot obtine un rezultat bunicel? ce algoritmi, ce metode noi, si de unde(cum) le-as putea invata de pe acum , ca sa pot exersa....in calitate de fosti/actuali olimpici nationali, va rog sa-mi raspundeti.multumesc Yahoo!
Pagini: 1 ... 7 8 [9] 10
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines