Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: CEOI 2009 : Iulie 15, 2009, 20:23:43
@pauldb : nu-i nimic, nici noi nu stiam pana la sfarsitul lui iunie  Tongue in fine, a fost o experienta interesanta Smile felicitari medaliatilor!
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 904 Bulevard : Iulie 08, 2009, 16:34:01
E ceva special la testul 9?  Eh? cei care au avut aceeasi problema si dupa aceea au luat 100 pot da un hint?
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 879 Praslea : Iulie 07, 2009, 23:25:07
Inteleg. Mersi Tongue
4  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 879 Praslea : Iulie 07, 2009, 23:16:19
Putin offtopic: codul urmator,
Cod:
for (int i=1;i<=1000000;++i)
for (int j=1;j<=1000000;++j)
for (int k=1;k<=1000000;++k);
de ce nu rezulta TLE?
5  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 497 Mosia : Februarie 28, 2009, 21:30:27
Atunci nu stiu ce este, pe testele alea imi da bine, si totusi iau 15 puncte  Brick wall Am incercat sa afisez si cu 4,5,si 6 zecimale..
6  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 497 Mosia : Februarie 28, 2009, 00:31:38
Testele sunt cele de la oji? Pe testele de acolo imi da 100 de puncte, iar aici nu iau decat 15 Think Afisarea fac cu streamuri, deci problema sigur nu e de acolo. Any help? Smile
Ar fi binevenit si testul 3, sau 4 de exemplu. Ms.
7  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: Mesaje de eroare : Februarie 24, 2009, 21:41:49
Ce inseamna mai exact "Null pointer assigned"(primele teste merg, iar dupa un anumit test imi tot da eroarea)? Primesc eroarea la un evaluator folosit la OJI, folosesc liste de adiacenta alocate dinamic, cred ca aici e problema, dar nu sunt sigur. La aceeasi problema, pe site nu-mi da nici o eroare.
8  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 807 Marmelada : Februarie 17, 2009, 00:00:14
E mai 'sanatos'sa afisezi in ordine crescatoare, insa nu ar trebuie sa conteze.
9  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 807 Marmelada : Februarie 16, 2009, 22:15:36
Pai poti sa faci parcurgerea in latime cu lee (ii cam acelasi lucru). Determinarea drumului minim l-ai facut bine, pe pozitia i din sol[] pui nodul din care ai ajuns in i, adica din nodul sol ai ajuns pe parcursul parcurgerii in nodul i. Eu am numerotat muchiile, si am adaugat in sol[] numarul muchiei prin care am ajuns din sol in i. Ai grija sa numerotezi costurile inainte sa le sortezi, pentru ca cere numarul de ordine (indicele) al costului atribuit fiecarei muchii, si nu costul acesteia. Sper sa te ajute  Smile

Totusi, primesc Killed by signal la testul 3, si nu-mi dau seama de ce. Am alocat dinamic vectorii... nu cred ca e ceva de la test, pt ca am vazut ca in timpul concursului au fost si altii cu eroarea asta, insa la alte teste. Brick wall
10  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 495 Numere 6 : Februarie 14, 2009, 17:45:50
Am facut retinand impartirile, scazand sau folosind expresia spusa de gabitzish, am pus short peste tot si tot imi iese din timp Brick wall ... nu pot sa-mi dau seama ce poate fi, desi algoritmul e cam acelasi cu cel oficial. Un alt hint ar fi bineveit Smile Btw, daca tot sunt testele de la judetene, cred ca ar fi fost fair sa intre macar algoritmul oficial Tongue
11  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 370 Joc4 : Februarie 12, 2009, 23:55:05
Imi puteti da vreun hint pt testul 1? Nu-mi dau seama nicicum ce ar putea fi.. Confused
Mersi inainte.
12  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 014 Parcurgere DFS - componente conexe : Ianuarie 01, 2009, 21:45:12
Este DFS mai rapid decat BFS Confused, sau este numai legat de testele acestea? cu al doilea am luat 60 de puncte.
13  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 479 Paritate : Decembrie 17, 2008, 16:02:33
E ceva interesant la aceasta problema: singur, am luat 30 de puncte, apoi am trimis solutia oficiala de la judeteana.. si a luat 0 puncte. Poate cineva sa ma ajute?Smile
14  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 431 Medie : Aprilie 25, 2008, 14:17:21
Scuze, am fost neatent Embarassed
15  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 414 Excursie : Aprilie 25, 2008, 14:16:08
nu cred: am marit coada la 1.000.000, si matricea la 55, si tot killed' imi da... Brick wall are ceva special testul 5? Smile
16  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 431 Medie : Aprilie 25, 2008, 14:05:09
Nu este cumva o greseala in enunt, la exemplul 2?  Smile eu vad una: 2 este media aritmetica a 3 si 1     
(i,j,k): (3,1,4)
Ma insel? Eh?
17  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 414 Excursie : Aprilie 25, 2008, 08:26:03
Am folosit setiosflags(ios::fixed), si merge, insa la testul 5 primesc Killed by signal... presupun ca este o problema legata de memorie, insa nu sunt sigur. http://infoarena.ro/job_detail/185341 E adevarat ca memoria folosita e cea mai mare la t 5 :936. Am incercat sa maresc marimea listei pana la 150.000 (nu cred ca e nevoie..), si tot nu merge. Ceva idei? Smile
Sursa:
 
Cod:
   1. #include<fstream>  
   2. #include<math.h> 
   3. #include<iomanip> 
   4. #include<stdio.h> 
   5. #define g 41 
   6. #define G 50000 
   7. using namespace std; 
   8. struct MATRIX 
   9.  { 
  10.   double efort,drum; 
  11.   short value; 
  12.  } ; 
  13. MATRIX a[g][g]; 
  14. struct LIST 
  15.  { 
  16.   int x,y; 
  17.  }; 
  18.   
  19.   LIST lista[G]; 
  20. int main() 
  21.  { 
  22.   ifstream be ("excursie.in"); 
  23.   ofstream ki ("excursie.out"); 
  24.   int n,m,i,j,x1,x2,y1,y2,e,v; 
  25.   
  26.   double ef,d,Lmax; 
  27.   be>>n>>m>>Lmax; 
  28.   for (i=1;i<=n;i++) 
  29.      for (j=1;j<=m;j++) 
  30.     be>>a[i][j].value; 
  31.   be>>x1>>y1>>x2>>y2; 
  32.   be.close(); 
  33.   e=1;v=1;int k; 
  34.   lista[1].x=x1; lista[1].y=y1; 
  35.   while (e<=v) 
  36.    { 
  37.     i=lista[e].x; j=lista[e].y; 
  38.     ef=-1; 
  39.     if (i!=x2||j!=y2) 
  40.      { 
  41.     k=0; 
  42.     if (i>1 && (i-1!=lista[1].x || j!=lista[1].y)) ///////////////////// 
  43.       { 
  44.        if (a[i-1][j].value>a[i][j].value) 
  45.      { x1=a[i-1][j].value; y1=a[i][j].value; } 
  46.        else 
  47.      if (a[i-1][j].value<a[i][j].value) 
  48.        { y1=a[i-1][j].value; x1=a[i][j].value; k=1;} 
  49.      else 
  50.        { ef=1; d=1; } 
  51.        if (ef!=1) 
  52.      { d=sqrt((x1-y1)*(x1-y1)+1); 
  53.        if (k) 
  54.          ef=(d*(x1-y1))/2; 
  55.        else 
  56.          ef=d*(x1-y1); } 
  57.        if (a[i-1][j].efort==0 || (a[i-1][j].efort>=a[i][j].efort+ef)) 
  58.      { 
  59.       lista[++v].x=i-1; lista[v].y=j; 
  60.       a[i-1][j].efort=a[i][j].efort+ef; 
  61.       a[i-1][j].drum=a[i][j].drum+d; 
  62.      } 
  63.       } 
  64.     ef=-1; k=0; 
  65.     if (j<m && (j+1!=lista[1].y || i!=lista[1].x))   ///////////////////////////////////// 
  66.       { 
  67.        if (a[i][j+1].value>a[i][j].value) 
  68.      { x1=a[i][j+1].value; y1=a[i][j].value; } 
  69.        else 
  70.      if (a[i][j+1].value<a[i][j].value) 
  71.        { y1=a[i][j+1].value; x1=a[i][j].value; k=1;} 
  72.      else 
  73.        { ef=1; d=1; } 
  74.        if (ef!=1) 
  75.      { d=sqrt((x1-y1)*(x1-y1)+1); 
  76.        if (k) 
  77.          ef=(d*(x1-y1))/2; 
  78.        else ef=d*(x1-y1); } 
  79.        if (a[i][j+1].efort==0 || (a[i][j+1].efort>=a[i][j].efort+ef)) 
  80.      { 
  81.        lista[++v].x=i; lista[v].y=j+1; 
  82.        a[i][j+1].efort=a[i][j].efort+ef; 
  83.        a[i][j+1].drum=a[i][j].drum+d; 
  84.      } 
  85.       } 
  86.     ef=-1; k=0; 
  87.     if (i<n && (i+1!=lista[1].x || j!=lista[1].y)) ///////////////////////////// 
  88.       { 
  89.        if (a[i+1][j].value>a[i][j].value) 
  90.      { x1=a[i+1][j].value; y1=a[i][j].value; } 
  91.        else 
  92.      if (a[i+1][j].value<a[i][j].value) 
  93.        { y1=a[i+1][j].value; x1=a[i][j].value; k=1; } 
  94.      else 
  95.        { ef=1; d=1; } 
  96.        if (ef!=1) 
  97.      { d=sqrt((x1-y1)*(x1-y1)+1); 
  98.        if (k) 
  99.          ef=(d*(x1-y1))/2; 
 100.        else ef=d*(x1-y1); } 
 101.        if (a[i+1][j].efort==0 || (a[i+1][j].efort>=a[i][j].efort+ef)) 
 102.      { 
 103.       lista[++v].x=i+1; lista[v].y=j; 
 104.       a[i+1][j].efort=a[i][j].efort+ef; 
 105.       a[i+1][j].drum=a[i][j].drum+d; 
 106.      } 
 107.       } 
 108.     ef=-1; k=0; 
 109.     if (j>1&& (j-1!=lista[1].y || i!=lista[1].x)) ///////////////////// 
 110.       { 
 111.        if (a[i][j-1].value>a[i][j].value) 
 112.      { x1=a[i][j-1].value; y1=a[i][j].value; } 
 113.        else 
 114.      if (a[i][j-1].value<a[i][j].value) 
 115.        { y1=a[i][j-1].value; x1=a[i][j].value;k=1; } 
 116.      else 
 117.        { ef=1; d=1; } 
 118.        if (ef!=1) 
 119.      { d=sqrt((x1-y1)*(x1-y1)+1); 
 120.        if (k) 
 121.          ef=(d*(x1-y1))/2; 
 122.        else ef=d*(x1-y1); } 
 123.        if (a[i][j-1].efort==0 || (a[i][j-1].efort>=a[i][j].efort+ef)) 
 124.      { 
 125.        lista[++v].x=i; lista[v].y=j-1; 
 126.        a[i][j-1].efort=a[i][j].efort+ef; 
 127.        a[i][j-1].drum=a[i][j].drum+d; 
 128.      } 
 129.       } 
 130.      } 
 131.     e++; 
 132.    } 
 133.   if (a[x2][y2].drum>Lmax) 
 134.     ki<<-1; 
 135.   else 
 136.     ki<<setprecision(3)<<setiosflags(ios::fixed)<<a[x2][y2].efort<<" "; 
 137.     ki<<setprecision(3)<<setiosflags(ios::fixed)<<a[x2][y2].drum; 
 138.   ki<<'\n'; 
 139.   ki.close(); 
 140.   return 0; 
 141.  } 
E cam lunga dar na.. Tongue
18  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Ciudat : Aprilie 24, 2008, 22:23:50
salut. am rezolvat problema excursie, > job: http://infoarena.ro/job_detail/185238 dar mi se intampla un lucru ciudat: iau 5 puncte  Cry am downloadat testele de la ONI 2007, si evaluand manual merge corect pe primele 10 teste, cu compilatorul borland...dupa asta da error pt ca ocup mai multa memorie decat imi permite, dar cu gnu ar trebui sa mearga.  Annoyed Iar daca compilez cu dev-c++ si merg ori pe testele linux ori pe cele windows scrie rezultatul dar ori partial, ori cu +e26 sau nu stiu ce numere si litere Eh? chiar e enervant.. Brick wall personal cred ca am o problema cu scrierea de 3 zecimale: folosesc setprecision din c++, dar nu stiu ce are. Tind sa cred ca exista si alte modalitati(more efficient and less annoying) cu care pot sa rezolv problema. Ma puteti ajuta cumva?
ultimele randuri:
Cod:
# if (a[x2][y2].drum>Lmax)  
#     ki<<-1; 
#   else 
#     ki<<setprecision(3)<<a[x2][y2].efort<<" "<<setprecision(3)<<a[x2][y2].drum; 
#   ki<<'\n'; 
#   ki.close(); 
#   return 0; 
folosesc pentru efort si drum double long, pentru value short, pentru celelalte short.
Mersi inainte Smile
19  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 689 Carti : Aprilie 20, 2008, 22:59:09
Care-i smecheria?  Brick wall Fighting iau numai 20 de puncte... personal procedez asa la fiecare configuratie: qsort, ca sa fie in sir, dupa care iau un vector 'seged' cu toate elementele=0; un for pana la m, si pentru fiecare numar dau 1, sau seged[ i ]+=i-1 daca seged[ i ]<k, dupa care seged[i-1]=0; in final numar numerele nenule, si daca %2==0 castiga bob ... Este ceva in neregula cu ideea? (poate nu am inteles bine problema Brick wall
Cod:
   1. #include<fstream>  
   2. #include<cstdlib> 
   3. using namespace std; 
   4. ifstream be ("carti.in"); 
   5. ofstream ki ("carti.out"); 
   6. typedef struct 
   7.  { 
   8.   int kk, mm; 
   9.  } S; 
  10. S c[15]; 
  11.  
  12. int compare (const void*a,const void*b) 
  13.     { 
  14.      return (*(int*)a-*(int*)b); 
  15.     } 
  16. int a[15][15]; 
  17. int main() 
  18.     { 
  19.      int m,k,n,i,j,s,SZ,seged[15]; 
  20.      char x; 
  21.      be>>n; 
  22.      for (i=0;i<n;i++) 
  23.     { 
  24.      be>>m>>k; 
  25.      c[i].kk=k; c[i].mm=m; 
  26.      for (j=0;j<m;j++) 
  27.        { 
  28.     be>>x; 
  29.     if (x>='A') 
  30.       { 
  31.        switch (x) 
  32.          { 
  33.           case 'A': { a[i][j]=1;break; } 
  34.           case 'J': { a[i][j]=11; break; } 
  35.           case 'Q': { a[i][j]=12; break; } 
  36.           case 'K': { a[i][j]=13; break; } 
  37.          } 
  38.       } 
  39.     else 
  40.       if (x=='1') 
  41.         {a[i][j]=10; be>>x;} 
  42.       else 
  43.         a[i][j]=x-48; 
  44.        } 
  45.     } 
  46.      be.close(); 
  47.      for (i=0;i<n;i++) 
  48.        { 
  49.     m=c[i].mm; k=c[i].kk; 
  50.     qsort(a[i],m,sizeof(int),compare); 
  51.     SZ=0; 
  52.     for (j=0;j<15;j++) 
  53.        seged[j]=0; 
  54.     for (j=0;j<m;j++) 
  55.      { 
  56.       seged[a[i][j]]=1; 
  57.       if (seged[a[i][j]-1]<k && seged[a[i][j]-1]>0 && j) 
  58.         { 
  59.           seged[a[i][j]]+=seged[a[i][j]-1]; 
  60.          seged[a[i][j]-1]=0; 
  61.         } 
  62.      } 
  63.      for (j=0;j<m;j++) 
  64.          if (seged[a[i][j]]>0) 
  65.            SZ++; 
  66.      if (SZ%2==0) 
  67.       ki<<"Bob"; 
  68.      else 
  69.       ki<<"Alice"; 
  70.      if (i!=n-1) 
  71.       ki<<"\n"; 
  72.     } 
  73.      ki<<"\n"; 
  74.      ki.close(); 
  75.      return 0; 
  76.    } 
ultima parte

eventual un test puteti sa aratati? in afara de primul si 8.
20  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: Mesaje de eroare : Aprilie 20, 2008, 21:27:29
Mersi mult wefgef! Smile chiar mi-a cam trecut cheful de la site la inceput cand tot imi dadea mesaje de eroare, dar acum incep sa inteleg. Si sunt de acord in ceea ce priveste progresul Tongue totusi, as avea inca o ultima intrebare: daca folosesc borland la oni, dar scriu programul asa incat se poate fi compilat si cu gnu, ar fi mai bine sa aleg gnu? Mersi mult, chiar m-ati ajutat. Ok
21  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Prima data la ONI:)>>? : Aprilie 20, 2008, 15:30:04
inteleg:) a fost doar un exemplu, dar mersi oricum. Embarassed
22  infoarena - concursuri, probleme, evaluator, articole / Informatica / Prima data la ONI:)>>? : Aprilie 20, 2008, 14:45:18
Buna:) m-am calificat si eu anul acesta la ONI, pentru prima data Banana , si, mai fiind o saptamana, as dori sa ii intreb cate ceva pe cei care au mai fost:
folosesc borlandc++ 3.1 ( acela vechi ), si mi-am dat seama citind si prin forum si si din experienta ca compilatorul este cam slab. as dori sa intreb ce compilatoare exista la oni, si daca compilatorul c++ se blocheaza la un a[50000][50000] (da eroare si la mai putin Brick wall ) atunci prin GNU C++ nu-i nici o problema? (asta daca se foloseste gnu la nationale)  Surprised.
23  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: Mesaje de eroare : Aprilie 17, 2008, 17:40:15
svalentin..cu tot respectul, de ce avem voie sa folosim BorlandC? cred ca toata lumea are dreptul la ce mediu doreste. Inteleg ca pe infoarena compilatorul este GNU C++, si nu am nimic in contra, in afara de un lucru: si anume ca nu este destul de detaliat descris ce nu este voie si ce trebuie modificat fata de BC++ ca sa fie compilat corect de GNU C. Azi am intalnit si eu problema compilatorului, la #180777. Cu toate ca am citit atent ce ati scris la borderou (int main cu 0 return, fara getch(), cu si fara .h), totusi sunt nedumerit. Include fileurile trebuie cu .h sau fara, se poate ifstream sau trebuie fopen. Deoarece esti in echipa infoarena, as dori lamuriri, daca se poate.
Cateva din erori:
Eroare de compilare in evaluator: user.cpp:2:17: error: stdlib: No such file or directory user.cpp:39:3: warning: no newline at end of file user.cpp: In function 'int main()': user.cpp:10: error: 'ifstream' was not declared in this scope... si cateva altele:P
Mersi inainte, cu respect. ZB.
PS : nu am gasit un topic mai bun unde sa postez, si nu am putut instala GNU C++ (sunt slab)Smile.
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines