Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 496 Rj : Iunie 22, 2012, 16:29:53
Problema cred ca e de la faptul ca la teste pe iesire e tmin y x, si nu tmin x y. Cand am afisat tmiin x y am luat 0, si cu tmin y x am luat 100.
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1132 AI : Ianuarie 06, 2012, 23:04:43
Ok.....si cum se face mai simplu?
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1132 AI : Ianuarie 06, 2012, 13:04:48
Am si eu o mica chestie la problema asta. Merge bine...dar imi iese din timp. Ca idee...pentru determinarea lungimii maxime a zidului...am sortat toate punctele dupa x, am pus intr-un vector toate punctele care au acelasi x, am sortat vectorul dupa y si am numarat cate sunt consecutive. Apoi...am sortat dupa y, am pus toate cele egale intr-un vector...sortat dupa x...numarat consecutive...si la sfarsit...am luat cel mai mare numar. Apoi am luat fircare sursa cu tinta, am calculat ecuatia dreptei...apoi am iterat pe x...si am cautat valorile lui x pentru care y e numar intreg...si am cautat toate punctele respective si le-am introdus intr-un vector. apoi am luat toate punctele respective...si am calculat cu un lee distanta. E vreo metoda mai eficienta?
4  infoarena - concursuri, probleme, evaluator, articole / .CAMPION / Secvb : Iulie 18, 2011, 20:49:10
Va salut. Sunt nou pe forum, si intr-ale programarii (un an de programare nu e chiar mult, nu?). Mai fac din cand in cand probleme pe .campion...si acum m-am impiedicat de una. Problema este secvb: http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=1221. Am refacut implementarea de vreo 4-5 ori, prin diverse metode, cu stl sau fara (momentan incerc sa fac toate problemele in c, procedural. Mi se pare o practica buna sa stiu ce e in spatele functiilor), si pe toate sursele iau 80 (debugul nu e o solutie...sunt 40000 de numere....).
Am implementat o functie care returneaza numarul de cifre de 1 din numar, si le asez in vectorul a. b este o coada. Am inteles ca nu e voie sa pun toata sursa...asa ca pun doar functia subs, care imi returneaza numarul de subsiruri cu suma max din vectorul a, care are n elemente.

Cod:
long subs(long n, long max){

    long sum=0, k=0;
    for(int i=0; i<n;){
        if(sum<max){
            p.push(a[i]);
            sum+=a[i];
            i++;
            if(sum==max){
                k++;
                sum-=p.front();
                p.pop();
            }
        }else{
            if(sum==max){
                k++;
                sum-=p.front();
                p.pop();
            }else{
                sum-=p.front();
                p.pop();
            }
        }
    }

    return k;
}

Nu stiu unde e problema...pe teste mici merge...asa ca nu ma gandesc decat la ceva de ordin fie algoritmic, fie in tipurile de date.

Va multumesc.
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines