Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 051 Rell's Report  (Citit de 3709 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Teodor94
Echipa infoarena
Nu mai tace
*****

Karma: 63
Deconectat Deconectat

Mesaje: 558



Vezi Profilul
« : Ianuarie 16, 2014, 22:08:48 »

Aici puteţi discuta despre problema Rell's Report.
Memorat
classius
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #1 : Ianuarie 20, 2014, 22:44:41 »

Aceasta este functia recurenta la care m-am gandit pentru a rezolva problema:
Cod:
void rec(int x,int k1,int k2,int k3,int ts){
    if(!x){
        int ax=k1*a1+k2*a2+k3*a3;
        if(mn==ts){
            qti=min(qti,ax);
        }else if(mn>ts){
            mn=ts;
            qti=ax;
        }
        return;
    }

    rec(max(0,x-a1),t1,max(k2-1,0),max(k3-1,0),ts+1+k1);
    rec(max(0,x-a2),max(k1-1,0),t2,max(k3-1,0),ts+1+k2);
    rec(max(0,x-a3),max(k1-1,0),max(k2-1,0),t3,ts+1+k3);
    return;
}

Iar acesta este apelul ei
Cod:
rec(x,0,0,0,0)
.
qti si mn sunt variabile globale care retin timpul minim si suma:a1*k1+a2*k2+a3*k3.

Stiu ca aceasta abordare nu se incadreaza in limitele de timp si nici nu urmaresc asta. Ma intereseaza sa aflu unde am gresit, la formula recurenta, de nu imi este acceptat pe testele pe care imi intra in limita timp.

Multumesc mult pentru ajutor, oricui se indura!
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 719



Vezi Profilul
« Răspunde #2 : Ianuarie 21, 2014, 00:10:47 »

Nu ai voie sa folosesti decat atacurile pentru care k = 0.
Memorat
classius
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #3 : Ianuarie 21, 2014, 16:45:38 »

Nu ai voie sa folosesti decat atacurile pentru care k = 0.

Multe multumiri  Ok
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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