hNe prolazi mi samo 8: test primer,vec mi pise poruka:
"Sistemska greska ili prekoracen memorijski limit",imali neko ideju kako se to desava samo na tom test primeru ili kako taj test primer izgleda?
hNaravno pitam vezano za zadatak trubaci (kao sto i ime teme kaze) sa republickog:)
rPosalji kod, pa cemo da vidimo :)
hevo i koda:
#include <cstdlib>
#include <iostream>
using namespace std;
int n,m;
char mat[50][50];
char octi[50][50];//octi [i][j]-daje plasman j+1-og trubaca kod i-tog sudije
char glasanje(char t1,char t2)//odredjuje za kog takmicara u poslednjem krugu
bi glasale sudije
{
char p1=0,p2=0;
for(int i=0;i<m;i++)
{
if(octi[i][t1]<octi[i][t2]) p1++;
else p2++;
}
if (p1>p2)
{
return t1;
}
else
{
return t2;
}
}
char odredi(char i,char t1,char t2)
{
if(i==(n-2))
{
if(!mat[t1][t2])
{
mat[t1][t2]=glasanje(t1,t2);
}
return mat[t1][t2];
}
if(!mat[t1][t2])
{
mat[t1][t2]=glasanje(odredi(i+1,t1,t2+1),odredi(i+1,t2,t2+1));
}
return mat[t1][t2];
}
int main(int argc, char *argv[])
{ int br;
char tak;
scanf("%d %d",&n,&m);
for(int j=0;j<m;j++)
{
for(int i=0;i<n;i++)
{
scanf("%d",&tak);
tak--;
octi[j][tak]=i;
}
}
br=odredi(0,0,1);
printf("%d",++br);
system("PAUSE");
return EXIT_SUCCESS;
}
hf-ja odredi(i,t1,t2) i-broj duela,t1-br.trubaca 1,t2-br.trubaca 2 i vraca trubaca koji pobedi
nMeni isto pada samo osmi primer, ali nije sistemska greska vec pogresno resenje, pa bih voleo da pogldam taj primer. mail mi je marsns90@eunet.yu
Hvala
nne treba, sad sam skapirao da je tu ulaz n=1
tMeni treba 10.test primer jer mi izbacuje pogresno resenje,a svi ostali lepo rade.
DTreba mi pojasnjenje ovog zadatka:
3 - sudije
3 - takmicara
1: 1 2 3
2: 2 3 1
3: 3 1 2
runda 1: 1 vs 2
runda 2: pobjednik ( runda 1 ) vs 3
Ko pobjeduje prvu rundu i zasto ili drugu? Nikako mi nije jasno, jer sve i jedan takmicar u ovom primjeru ima isti "prioritet", bar ja tako mislim.
Kako da biram onda ko ide
u naredni krug?
bOk, pa ti treba da odredis takav raspored da sudije budu najzadovoljnije
E sada u ovom test primeru:
prvo ide 1 vs 2
ako bi pobedio 1 onda bi u "finalu" bilo 1 vs 3 i tu bi pobedio 3. jer bi sudije glasale ovako:
1 ) glasao bi za 1.
2 ) glasao bi za 3.
3 ) glasao bi za 3.
---- Pobedio bi 3. -----
ako bi pobedio 2 ( u prvoj rundi ) onda bi u "finalu" bilo 2 vs 3 i onda bi sudije glasale ovako:
1 ) glasao bi za 2.
2 ) glasao bi za 2.
3 ) glasao bi za 3.
---- Pobedio bi 2. -----
E sada gledas sta bi vise odgovaralo, da pobednik bude
1 ) 3
2 ) 2
Sudije bi glasovale ovako:
1 ) glasao bi za 2.
2 ) glasao bi za 2.
3 ) glasao bi za 3.
--- Vise glasova 2. ----
Znaci sudije ce biti najzadovoljnije ako pobedi 2.