infoarena

infoarena - concursuri, probleme, evaluator, articole => Summer Challenge Doi => Subiect creat de: ditzone din August 11, 2006, 11:02:21



Titlul: 001 Plimbare
Scris de: ditzone din August 11, 2006, 11:02:21
Aici puteti pune intrebari despre problema Plimbare.


Titlul: Raspuns: 001 Plimbare
Scris de: Bondane Cosmin din August 11, 2006, 11:56:33
hmm scz de intrebare si ora la care intreb ... da pot exista mai mmulte sol.? si in acest caz se afiseaza orcare? nu se precizeaza


Titlul: Raspuns: 001 Plimbare
Scris de: ditzone din August 11, 2006, 11:59:15
Da, se poate afisa oricare, atentie insa ca ciclul trebuie sa aiba lungime maxima.


Titlul: Raspuns: 001 Plimbare
Scris de: Paul-Dan Baltescu din August 11, 2006, 14:50:33
Stiu ca e cam tarziu sa intreb [chiar foarte tarziu]  :oops:, but here it goes...poate totusi mi se raspunde:

Poate aparea aceasi drum de mai multe ori in fisierul de intrare?


Titlul: Raspuns: 001 Plimbare
Scris de: vladut.forum din August 11, 2006, 15:18:41
sa iti raspund din enuntzu problemei:

Pe urmatoarele N * (N – 1) / 2 linii vor fi cate doi intregi x, y separati prin exact un spatiu, cu semnificatia ca intre obiectivul x si obiectivul y exista o strada cu sensul de la x la y.

si apoi

Anul acesta orasul in care au ajuns olimpicii are proprietatea curioasa ca exista cate o strada intre oricare doua obiective, dar strada are un singur sens de mers.

concluzia o tragi singur


Titlul: Raspuns: 001 Plimbare
Scris de: Cosmin Negruseri din August 11, 2006, 15:21:10
Nu nu poate aparea!


Titlul: Raspuns: 001 Plimbare
Scris de: David si Goliat din August 11, 2006, 16:13:51
de ce mi-a dat eroarea asta de compilare?
 ](*,)
In file included from /usr/include/c++/3.3/backward/fstream.h:31,
                 from jtemp.cpp:1:
/usr/include/c++/3.3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
jtemp.cpp:2: error: `long int j1\' redeclared as different kind of symbol
/usr/include/bits/mathcalls.h:239: error: previous declaration of `double
   j1(double)\'
 ](*,)

[Editat de bogdan2412: nu mai abuza de smiley-uri :P ]


Titlul: Re: 001 Plimbare
Scris de: Tiberiu-Lucian Florea din August 11, 2006, 17:16:51
Pentru ca simbolul "j1" este deja definit intr-o librarie pe care ai folosit-o, in cazul de fata in math.h.

Cod:
J0(3)                                     Linux Programmer's Manual                                     J0(3)

NAME
       j0, j0f, j0l, j1, j1f, j1l, jn, jnf, jnl, y0, y0f, y0l, y1, y1f, y1l, yn, ynf, ynl - Bessel functions

SYNOPSIS
       #include <math.h>

       double j0(double x);
       double j1(double x);
       double jn(int n, double x);
       double y0(double x);
       double y1(double x);
       double yn(int n, double x);

       float j0f(float x);
       float j1f(float x);
       float jnf(int n, float x);
       float y0f(float x);
       float y1f(float x);
       float ynf(int n, float x);

       long double j0l(long double x);
       long double j1l(long double x);
       long double jnl(int n, long double x);
       long double y0l(long double x);
       long double y1l(long double x);
       long double ynl(int n, long double x);

Concluzia: gcc de windows nu e gcc. Implementati si testati pe Linux daca vreti sa fiti sigur ca totul merge asa cum va asteptati.

De fapt, era destul de usor de descifrezi acel mesaj din moment ce avea o singura eroare care spune "error: `long int j1\' redeclared as different kind of symbol". Cand vezi asa ceva, principalul e sa treci peste diversele warninguri (care, evident, nu vor opri compilarea), si sa te uiti direct in locurile in care apare cuvantul "error". Bafta pe viitor in evitarea acestui tip de probleme ;-).


Titlul: Raspuns: 001 Plimbare
Scris de: David si Goliat din August 11, 2006, 18:49:49
 Mai exista o eroare foarte dubioasa !
 Sunt curios daca are vreo logica
 Spre exemplu dupa ce execut functia asta n si k devine 0;De ce? :?
if(st[k]==i&&k>1)
       {if(k>max1)
   {max1=k;
    memcpy(v,st,sizeof(st));
    }
          viz[st[k]]=0;
           k--;}
deci, imediat ce se executa memcpy k devine 0 ,la fel si n;


Titlul: Re: 001 Plimbare
Scris de: Bogdan-Cristian Tataroiu din August 11, 2006, 19:01:47
Asta se poate intampla daca v are o dimensiune mai mica decat st de exemplu :-? sau daca ai un compilator de windows mai prost asa :)