Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 020 Dinozaur  (Citit de 8084 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
dushmi
Nu mai tace
*****

Karma: 130
Deconectat Deconectat

Mesaje: 472



Vezi Profilul
« : Iulie 09, 2012, 14:34:00 »

Aici puteţi discuta despre problema Dinozaur.
Memorat
catalinutzb
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #1 : Martie 21, 2013, 23:07:30 »

Formulare ambiguu
Memorat
repp4radu
Nu mai tace
*****

Karma: 118
Deconectat Deconectat

Mesaje: 204



Vezi Profilul
« Răspunde #2 : Martie 22, 2013, 10:23:13 »

Ce este ambiguu in legatura cu formularea?

Mie mi se pare foarte clar enuntul...
Memorat
atatomir
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #3 : Martie 22, 2013, 21:49:56 »

Subsecventa poate avea lungime 1? adica daca gasesc de 2 ori "x" se considera 2 subsecvente identice ?

Daca nu va rog sa-mi explicati  Smile
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #4 : Martie 22, 2013, 21:54:14 »

Poate avea si lungime 1.
Memorat
catalinutzb
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #5 : Martie 25, 2013, 15:58:20 »

Tocmai despre asta vorbeam, formulare ambiguu, nu se precizeaza lungimea minima a unei secvente, in acest caz in care o secventa poate fii de lungime 1 problema are o rezolvare penibila, pur si simplu verifici cu un vector unde memorezi de cate ori apare fiecare litera in functie de codul sau ASCII si astfel daca in vector gasesti vreun numar >=2 atunci scrii 1 altfel scrii 0... Si totul dintr-o singura parcurgere => O(n) => undeva la 0.07 secunde
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #6 : Martie 25, 2013, 17:01:16 »

Pai da, asta inseamna, ca e usoara. Nu ca e ambiguu enuntul. Voiai sa mentionam si ce restrictii nu se aplica ? Smile)
Memorat
popa_marcel
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #7 : Martie 25, 2013, 17:38:08 »

In general in Arhiva Monthly sunt probleme mai usoare.Consider ca dificultatea problemelor se vede in timp de concurs unde conteaza si timpul in care se rezolva problema.
Memorat
catalinutzb
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #8 : Martie 25, 2013, 19:59:08 »

Am luat 0 puncte pe sursa asta dar nu inteleg ce nu e bine... Poate secventa nu poate fi si de 1 caracter... Va pun sursa, cine poate si vrea sa ma ajute  peacefingers

#include <fstream>
#include <iostream>
#include <cstring>
using namespace std;
ifstream f("dinozaur.in");
ofstream g("dinozaur.out");

int main(){

    char T[100001];
    long C[30];
    long i,lung;
    bool ok=0;

    f>>T;
    lung=strlen(T);
    for (i=1;i<=30;i++)
        C=0;
    for (i=0;i<=strlen(T);i++){
        C[T-96]++;
        if (C[T-96]>=2){
            ok=1;
            break;
        }
    }

    if (ok)
        g<<1<<"\n";
    else
        g<<0<<"\n";

    return 0;
}             Fighting
Memorat
cristiavra
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #9 : Martie 25, 2013, 20:02:09 »

de la i=0; i< strlen(T) incearca asa in cel de-al doilea for Smile si vezi ca in primul for nu asa se face initializarea unui vector
Memorat
catalinutzb
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #10 : Martie 25, 2013, 20:03:59 »

Da, multumesc mult, acum iau undeva la 80 de puncte, nu da pe 2 teste... trebuie sa ma mai uit la cazuri particulare
Memorat
catalinutzb
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #11 : Martie 25, 2013, 20:04:39 »

Si ce e in neregula cu al primul for?
Memorat
cristiavra
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #12 : Martie 25, 2013, 20:06:03 »

pai C este un vector => are indici => C [ i ] = 0; sau ai putea folosi memset din STL Very Happy
Memorat
catalinutzb
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #13 : Martie 25, 2013, 20:08:14 »

Stiu ca orice vector are C[1], C[2].... = 0 dar asta e teoretic, in practica am intampinat UNEORI (nu totimpul) vectori care nu au val 0, mai ales la vectori de lungime mare, stiu ca aici nu e cazul dar acea initializare chiar nu are probleme
Memorat
cristiavra
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #14 : Martie 25, 2013, 20:09:47 »

am observat ulterior daca te vei uita peste codul tau postat apare: C=0 si trebuia C [ i ] =0 . dar acolo e bine... cazuri speciale nu cred ca sunt
Memorat
catalinutzb
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #15 : Martie 25, 2013, 20:13:35 »

Da intr-adevar, nu stiu cum a aparut C=0 ala acolo....

Am luat 100 de puncte... Postez aici sursa, daca mai vrea sa o vada cineva:

#include <fstream>
#include <cstring>
using namespace std;
ifstream f("dinozaur.in");
ofstream g("dinozaur.out");

int main(){

    char T[100001];
    long C[30];
    long i,lung;
    bool ok=0;

    f>>T;
    lung=strlen(T);
    if (lung>0){
        for (i=1;i<=30;i++)
            C=0;
        for (i=0;i<lung;i++){
            C[T-96]++;
            if (C[T-96]>=2){
                ok=1;
                break;
            }
        }

        if (ok)
            g<<1<<"\n";
        else
            g<<0<<"\n";
    }
    else
        g<<0<<"\n";

    return 0;
}
Memorat
cristiavra
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #16 : Martie 25, 2013, 20:15:04 »

nu cred ca e tocmai ok sa postez sursa...pana la urma asta este esenta INFOARENA - sa incercam sa rezolvam cat mai multe probleme nu sa luam sursa gata facute.Oricum daca este vreo probleme se va sesiza vrun admin.
Memorat
catalinutzb
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #17 : Martie 25, 2013, 20:15:21 »

Acolo la C=0 e o greseala, sursa mea nu era de la inceput asa... Dar site-ul infoarena nu ma lasa sa postez, am incercat sa editez si acolo cand editez imi apare bine C=0, dar cand postez e C=0
Memorat
cristiavra
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #18 : Martie 25, 2013, 20:16:47 »

incearca sa lasi spatiii intre si scrie asa C [ i ] = 0 ;
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #19 : Martie 25, 2013, 20:25:07 »

[ i ] e codul pentru italic pe forum, de asta nu-ti merge.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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