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

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« : August 14, 2007, 00:06:30 »

Aici puteţi discuta despre problema Pluton.
Memorat
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #1 : Septembrie 27, 2007, 15:22:24 »

testele de aicea sunt aleleasi de la oji???
Memorat
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #2 : Septembrie 27, 2007, 20:01:43 »

sunt 99% sigur ca da
Memorat

....staind....
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #3 : Decembrie 21, 2007, 07:34:00 »

pot existat soldati cu numarul 0 la inceput ex:001 sau 034025?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #4 : Decembrie 21, 2007, 08:46:19 »

Nu
Memorat
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #5 : Decembrie 22, 2007, 10:39:18 »

pe testele de la oji imi da bine,pote ca e  ceva gresit la citire
Cod:
      for (int i=0;i<n;i++)
      {
fin.get(c);
int num=0;
while (c!='\n')
{
     a[i][c-'0']++;
     sir[i]=sir[i]*10+(c-'0');
     num++;
     fin.get(c);
}
? Cry
« Ultima modificare: Decembrie 22, 2007, 18:03:32 de către Andrei Grigorean » Memorat
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« Răspunde #6 : Octombrie 27, 2008, 16:54:05 »

se poate declara "char v[4000][11]" pe borland c++?
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #7 : Octombrie 27, 2008, 17:35:58 »

Daca folosesti borland c++, de ce nu incerci sa vezi daca merge?
Daca nu merge, poti sa declari ceva mai putin, si cand dai submit sa modifici dimensiunile.

LE: cer scuze daca n'a fost folositor raspunsul meu Smile
« Ultima modificare: Octombrie 27, 2008, 18:24:46 de către Bitis Gabriel » Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #8 : Octombrie 27, 2008, 18:01:10 »

se poate declara "char v[4000][11]" pe borland c++?

Da, ar trebui sa incapa.

Daca folosesti borland c++, de ce nu incerci sa vezi daca merge?
Daca nu merge, poti sa declari ceva mai putin, si cand dai submit sa modifici dimensiunile.

Presupun ca nu foloseste Borland si era curios daca i-ar fi mers la OJI. Smile
Memorat

Am zis Mr. Green
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« Răspunde #9 : Octombrie 27, 2008, 23:27:32 »

se poate declara "char v[4000][11]" pe borland c++?

Da, ar trebui sa incapa.

Daca folosesti borland c++, de ce nu incerci sa vezi daca merge?
Daca nu merge, poti sa declari ceva mai putin, si cand dai submit sa modifici dimensiunile.

Presupun ca nu foloseste Borland si era curios daca i-ar fi mers la OJI. Smile
Nu aparea eroare la daca il verificam iar daka il executam iesea afara.
Folosesc borland dar mie borlandul mi se pare cam aiurea...de multe ori se intampla ca sa poti declara cu succes o matrice si dupa aceea sa obervi ca nu poate sa ti le scrie in matrice.In fine am reusit sa rezolv problema pe alta metoda,pe testele de la oji mia dat 100,aici mia dat la fiecare test 7 puncte,deci nu mia dat 3 pentru ca nu am afisat corect soldatii din unul din plutoanele cele mai numeroase.Din cauza ca is mai multe solutii pentru cele 3 puncte,nu s-ar putea sa fie o greseala la compilator?La toate exemplele pe care leam avut mia dat bine.
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #10 : Octombrie 28, 2008, 10:49:27 »

Citat
Din cauza ca is mai multe solutii pentru cele 3 puncte,nu s-ar putea sa fie o greseala la compilator?La toate exemplele pe care leam avut mia dat bine.

In nici un caz la compilator... Compilatorul este programul care iti creeaza tie executabilul. Apoi evaluatorul ruleaza programul tau pe cele X teste, si la fiecare intra verificatorul sa verifice daca tu ai raspunsul corect.

Tine minte ca in nici un caz evaluatorul este stricat. Daca au reusit 100 de useri sa ia 100 de puncte atunci in mod sigur este ceva la tine nu la evaluator. Fa-ti un generator de teste, si intreaba aici cat ne da pe un test mai mare.

Spor Smile
« Ultima modificare: Octombrie 29, 2008, 21:05:44 de către Pripoae Teodor Anton » Memorat
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« Răspunde #11 : Octombrie 28, 2008, 22:51:55 »

Sau verifica cu testele de la OJI.
Am precizat mai sus ca am verificat cu multe si mia dat bine inclusiv OJI,am gresit zicand ca(virgula),compilatorul e de vina.Dar eu ma intreb cum au fakut atasamentele?(tinand cont ca exista mai multe solutii pt cele 3 pct)
« Ultima modificare: Octombrie 28, 2008, 22:57:09 de către Savin Tiberiu » Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #12 : Octombrie 28, 2008, 23:05:31 »

la atasamente exista un fisier numit grader_eval.cpp care verifica daca solutia ta este sau nu corecta.
Memorat
TociTox
Strain


Karma: 4
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #13 : Octombrie 31, 2008, 22:52:03 »

Am incercat o functie de convertire din intreg in sir de caractere "ltoa" (in visual functioneaza doar "_ltoa"), dar cand trimit la infoarena imi da eroare de compilare. Ce imi sugerati ?
Memorat
CezarMocan
Nu mai tace
*****

Karma: 252
Deconectat Deconectat

Mesaje: 567



Vezi Profilul
« Răspunde #14 : Octombrie 31, 2008, 23:04:47 »

Uite aici cum poti sa convertesti un int intr-un string:
Cod:
#include <iostream>
#include <sstream>

int main() {
  int number = 123;

  std::stringstream ss;
  ss << number;

  std::cout << ss.str() << endl;
}

Sau faci de mana Smile
Memorat
TociTox
Strain


Karma: 4
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #15 : Octombrie 31, 2008, 23:12:03 »

Uite asta e un fragment din codul meu :

Cod:
	
_ltoa(m[i][2],s1,10);
_ltoa(nriden,s2,10);

unde m[1][2], respectiv nriden reprezinta numerele si s1 sirul de caractere in care vreau sa le convertesc si 10 baza (dupa sintaxa din help-ul borlandului)
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #16 : Octombrie 31, 2008, 23:20:22 »

eu stiam ca functia e itoa. Daca e vb de acelasi lucru atunci vezi ca nu face parte din ANSI C si nu e bine sa o folosesti. Poti citi mai multe aici http://infoarena.ro/forum/index.php?topic=2432.0
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #17 : Octombrie 31, 2008, 23:41:16 »

Interesant faptul ca functia itoa nu e standard, in timp ce atoi da.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Bit_Master
Vorbaret
****

Karma: -49
Deconectat Deconectat

Mesaje: 159



Vezi Profilul
« Răspunde #18 : Decembrie 26, 2008, 16:59:28 »

Dar la linia a 4-a nu specifica in ce ordine trebuie scrisi soldatii. Cum poate verifica evaluatorul daca este raspuns corect daca sunt multe combinatii posibile de a scrie soldatii? Huh Trebuie ordonati descrescator (asa vad in exemplu dar in problema nu impune aceasta restrictie)? Raised eyebrow
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #19 : Decembrie 26, 2008, 17:39:53 »

Poti afisa soldatii in orice ordine. Evaluatorul nu tine cont de ordinea in care afisezi.
Memorat

Am zis Mr. Green
cosmin79
Strain
*

Karma: 36
Deconectat Deconectat

Mesaje: 46



Vezi Profilul
« Răspunde #20 : Ianuarie 23, 2009, 18:38:47 »

Deci e ceva dubios cu testele...Am stat cu 50 puncte peste 1 luna,cu tle pe testul 7 http://infoarena.ro/job_detail/238653  Read This!,fara sa-mi dau seama unde buseste.Am descarcat si testele date la oji si mi-a mers pe toate testele programul. Pe testul 7 imi intra pe ciclu infinit cred...Dupa multe incercari  Weightlift mi-am dat seama ca greseala este la functia de calculare a codului soldatilor(am calculat cel mai mic nr care se poate forma cu cifrele nr respectiv).Pe urma am schimbat functia codului cu una asemanatoare in care calculez cel mai mic nr care se poate calcula cu cifrele de la 1 la 9 ale nr si la sfarsit adaugam cifrele de 0.Si asa am scapat de tle si am luat 100 puncte  Huh  http://infoarena.ro/job_detail/247680 Read This!
Daca cineva poate sa-mi spuna ce era gresit initial raman indatorat,desi eu tot cred ca e ceva dubios cu testele.

Deci initial am facut functia asa:
Cod:
int codul(int x)   
{   
    int a[10],i,j,r,minim=10,nr=0;   
    for (i=0; i<=9; i++)   
        a[i]=0;   
    do 
    {   
        r=x%10;   
        a[r]++;   
        if (r && r<minim)   
            minim=r;   
        x/=10;   
    }   
    while (x);   
    nr=minim;   
    a[minim]--;   
    for (i=0; i<=9; i++)   
        for (j=1; j<=a[i]; j++)   
            nr=nr*10+i;   
    return nr;   
}

si pe urma:

Cod:
int codul(int x)   
{   
    int a[10]={0},r=0;   
    do{   
        ++a[x%10];   
        x/=10;   
    }while(x);   
    for(int i=1;i<=9;++i)   
        while(a[i]--)   
            r=r*10+i;   
    while(a[0]--)   
        r*=10;   
    return r;   

« Ultima modificare: Ianuarie 23, 2009, 19:14:34 de către Sima Cotizo » Memorat
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« Răspunde #21 : Februarie 05, 2009, 19:40:11 »

iau 100 pe evaluatorul de la OJ,mi-am generat o gramada de teste si mi-a dat cum trebuie dar pe evaluatorul de pe site iau pe fiecare test 7 puncte pt ca cika nu afisez bine soldatii...Poate un admin care,(daka) are acces la datele de intrare sa-mi spuna aproximativ diferenta dintre cum imi da mie si cum ar trebui pe vreun test? Brick wall
http://infoarena.ro/job_detail/253398 
Memorat
DraStiK
Nu mai tace
*****

Karma: 131
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #22 : Martie 10, 2009, 11:28:34 »

iau 100 pe evaluatorul de la OJ,mi-am generat o gramada de teste si mi-a dat cum trebuie dar pe evaluatorul de pe site iau pe fiecare test 7 puncte pt ca cika nu afisez bine soldatii...Poate un admin care,(daka) are acces la datele de intrare sa-mi spuna aproximativ diferenta dintre cum imi da mie si cum ar trebui pe vreun test? Brick wall
http://infoarena.ro/job_detail/253398 

din cate stiu eu, testele de aici sunt cele de la OJI
Memorat
shnako
Client obisnuit
**

Karma: 3
Deconectat Deconectat

Mesaje: 50



Vezi Profilul
« Răspunde #23 : Martie 11, 2009, 09:54:39 »

Deci din nou m-a dezamagit evaluatorul de pe infoarena ... Evaluatorul de la OJI imi da 100 de puncte, iar cel de aici, desi imi accepta 4 teste pe restu imi da 0 si per total iau 0. De ce ?!

Cod:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define NR 4001
FILE *f, *g;
long i, n, k=0, sw, nr[NR], h, j, aux, max, sm;
char v[NR][11], t[NR][11], x[13];
void citire (void)
{
f=fopen("pluton.in", "r");
g=fopen("pluton.out", "w");
fscanf(f, "%ld", &n);
fscanf(f, "%c", &v[0][0]);
for (i=1;i<=n;i++) 
{
fgets(v[i], 12, f);
sw=strlen(v[i])-1;
if (!isdigit(v[i][sw]))
v[i][sw]='\0';
}
}

int main(void)
{
citire();
for (i=1;i<=n;i++)
{
nr[i]=0;
sw=strlen(v[i])-1;
for(j=0;j<=12;j++)
x[j]=0;
for(j=0;j<=sw;j++)
x[j]=v[i][j];
for(j=0;j<sw;j++)
for(h=j+1;h<=sw;h++)
if(x[j]>x[h])
{
aux=x[j];
x[j]=x[h];
x[h]=aux;
}
sw=0;
for (j=1;j<=k;j++)
if (strcmp(t[j], x)==0)
{
sw=1;
nr[j]++;
break;
}
if (!sw)
{
nr[++k]=1;
strcpy(t[k], x);
}
}
sw=0;
long s=0;
fprintf(g, "%ld", k);
for (i=1;i<=k;i++)
if(nr[i]>max)
{
s=1;
max=nr[i];
strcpy(v[0], t[i]);
}
else
if (nr[i]==max)
s++;
fprintf(g, "\n%ld\n%ld\n", max, s);
sm=strlen(v[0])-1;
for (i=0;i<sm;i++)
for (j=i+1;j<=sm;j++)
if (v[0][i]>v[0][j])
{
aux=v[0][i];
v[0][i]=v[0][j];
v[0][j]=aux;
}
sm=strlen(v[0]);
k=0;
for (i=1;i<=n;i++)
{
sw=strlen(v[i])-1;
if (sw+1==sm)
{
strcpy(x, v[i]);
for (j=0;j<sw;j++)
for (h=j+1;h<=sw;h++)
if (x[j]>x[h])
{
aux=x[j];
x[j]=x[h];
x[h]=aux;
}
if (!strcmp(v[0], x))
{
k++;
fputs (v[i], g);
fprintf(g, " ");
}
if (k==max)
break;
}
}
fcloseall();
return 0;
}
Memorat
DraStiK
Nu mai tace
*****

Karma: 131
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #24 : Martie 11, 2009, 12:31:20 »

Deci din nou m-a dezamagit evaluatorul de pe infoarena ... Evaluatorul de la OJI imi da 100 de puncte, iar cel de aici, desi imi accepta 4 teste pe restu imi da 0 si per total iau 0. De ce ?!

primesti 0 puncte pentru ca testele sunt grupate astfel incat sursele ineficiente sa nu primeasca nimic sau punctajul pe masura
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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