21 / 47
May 2009

Cześć. Ponieważ mam pytanie nt. tego samego zadania to podepnę się do tego wątku. Otóż, kiedy próbowałem wysłać rozwiązanie ( pl.spoj.pl/submit/ROWNANIE/) otrzymałem informację:
Wystąpił błąd
Wrong problem!

Czy chodzi o to, że nie można już wysyłać rozwiązań? Nie mogę znaleźć nic na ten temat w FAQ więc liczę, że ktoś po prostu spotkał się z taką sytuacją.

rowniez napotkalem ten problem przy probie wyslania. ale mysle ze jest to spowodowane tym ze to zadanie nie znajduje sie na liscie zadan w kontescie(przejzyj liste latwych zadan i tam go nie ma).

podobny problem wystepuje przy zadaniu :
1035. Test 3
Kod zadania: PP0601A2

18 days later

pomógł mi ten wątek, wywaliłam się naprawdę na głupich błędach wink
wystarczyło, jak zmieniłam typy danych na unsigned long int i unsigned long long int.

**********
dla testu:
**********
7
9
432 12 543 5343 7862 234557 67 234 546
5
1000000 10000000 100000 1000003 1011111
17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
5
12345 76543 97643 34235 683243
8
26345982 234756289 23654726354 95869847 234527346 46459867 2364527364 9536845867
3
2368457236485 364857636457 2346572364572344
9
1523 2134 345 657 4356 7958 2345 587 3245
**********
odpowiedź:
**********
4881123190683544848
10111140333330000000
12252240
14657352316696420337
18080302788431356660
12334572626437093208
15552605414187387324

Co zrobić, żeby dostać 15 pkt. ? confused
[bbone=cpp,2723]#include

using namespace std;

int main()
{
int r1, r2;

int t;
cin >> t;
while (t--)
{
    cin >> r1 >> r2;

    while (r1!=r2)
    {
        r1 > r2 ? r1-=r2 : r2-=r1;
    }
    cout << r1+r2 << endl;
}

}[/bbone]

a zastanów się nad przykładem: gry jeden z graczy ma 1 żeton a drugi 1 000 000 000...

1 month later

Nie wiem, czy to błąd, czy ktoś celowo to skasował, ale podobna sytuacja jest z zadaniem: 1033. Test 2
Kod zadania: PP0601A. Pół roku temu robiłem to zadanie i coś mi nie wychodziło, teraz znalazłem błąd w moim rozumowaniu, chcę wysyłać, a tu... Wrong answer! confused

1 month later

Ja mam spory problem. Ten program jest zdecydowanie najbardziej skomplikowanym programem, jaki do tej pory napisałem (dopiero zaczynam programować), więc byłbym bardzo szczęśliwy, jeżeliby mi przeszło jego rozwiązanie. W domu wszystko mi działa bez problemu (używam Dev C++), jednak kiedy wysyłam rozwiązanie na serwer, to wyskakuje mi błąd SIGFPE.
Czy ktoś mógłby mi wskazać błąd w moim programie?

#include <iostream>
using namespace std;
int nwd(int a, int b)
{
    while(a>0 && b>0)
    {
            a=a%b;
            if(a==0)
            {
                   break;
            }
            b=b%a;
    }
    return a+b;
}
int nww(int a, int b)
{
    return a*b/nwd(a, b);
}
int main()
{
    int n, a, i, b;
    cin>>n;
    unsigned long long int nwww[n];
    b=n;
    while(b)
    {
            cin>>a;
            unsigned long long int tab[a];
            i=a;
            while(i)
            {
                    cin>>tab[i-1];
                    i--;
            }
            while(a>1)
            {
                      tab[a-2]=nww(tab[a-2], tab[a-1]);
                      a--;
            }
            nwww[b-1]=tab[0];
            b--;
    }
    while(n)
    {
            cout<<nwww[n-1]<<endl;
            n--;
    }
system("pause");
return 0;
}
2 months later

Nie wiem co mam źle w tym zadaniu. Nie dostaje TLE tak jak inni tylko WA. Wszystkie wpisane przeze mnie testy działają.
Gdyby ktoś dał powiedział co mam źle byłbym wdzięczny

1 month later

Szczerze mówiąc nie rozumiem ani kodu z drugiego postu nade mną ani nie wiem jak rozwiązać to zadanie za pomocą średniej harmonicznej, ale przecież wystarczy policzyć deltę dla tego równania i jej znak wyznacza liczbę rozwiązań tego równania.
Oto testy, jakby miały komuś pomóc:

5.0 6.0 7.0
4.0 4.0 4.0
4.0 5.0 4.0
-5.0 5.0 4.0
4.0 5.0 -5.0
4.5 2.5 0.5
4.5 2.5 -0.5
1.0 4.0 1.0
1.0 2.0 1.0
4.0 4.0 1.0
2.0 2.0 0.5
0.5 2.0 2.0

Output:

0
0
0
2
2
0
2
2
1
1
1
1
1 year later

Mam WA, choć dla przykładowych testów kod daje poprawne odpowiedzi. Jakiś pomysł wink?

1 month later

Witam, napisalem program, dla przykladowych danych wyswietla dobre wyniki ale sedzia upiera sie ze sa bledne odpowiedz.
Prosze o pomoc jesli ktos wie dlaczego nie uznaje mi programu.

#include <iostream>
#include <cstdio>
#define MAXV 1000
using namespace std;
int odwiedzone[MAXV+1];
struct node
{
       int inf;
       node* next;   
       node* prev;   
};
struct Stos
{
       int tab[MAXV+1];
       int stan;
       Stos(){stan=0;}
       void push(int v)
       {
            tab[stan] = v;
            stan++;
       }
       int pop()
       {
             if(stan>0)
             {
                       stan--;
                       return tab[stan];
             }
       }
       bool pusty()
       {
            if(stan==0){return true;}else{return false;}
       }
};
struct Kolejka
{
       int start, stop;
       int tab[MAXV+1];
       Kolejka()
       {
                start = 0;
                stop = 0;
       }
       void dodajNaKoniec(int v)
       {
            tab[stop] = v;
            stop++;
       }
       int usunZPoczatku()
       {
           int tmp = tab[start];
           start++;
           return tmp;
       } 
       bool pusta()
       {
            if(stop==start){return true;} else {return false;}
       }
};
struct Graf
{
       node* lista[MAXV+1];
       int wierzcholki;
       Graf()
       {
                for(int j = 0; j<=MAXV; j++)
                {
                      lista[j] = NULL;
                }
       }      
       void dodaj(int v, int i)
       {
            if(i!=0)
            {
                node* temp = new node;
                temp->inf = i;
                temp->next = lista[v];  
                lista[v] = temp; 
            }       
       }
       void DFS(int v)
       {
            for(int i = 0; i<=wierzcholki; i++)
            {
                    odwiedzone[i] = 0;        
            }
            Stos stos;
            int tmp;
            node* p = new node;
            stos.push(v);
            odwiedzone[v]=1;
            while(!stos.pusty())
            {
                  tmp = stos.pop();
                  cout<<tmp/*<<" "*/;
                  p = lista[tmp];
                  while(p!=NULL)
                  {
                                if(odwiedzone[p->inf]==0)
                                {
                                     stos.push(p->inf);
                                     odwiedzone[p->inf] = 1;
                                }
                                p = p->next;
                  }           
            }
       }
       void BFS(int v)
       {
            for(int i = 0; i<=wierzcholki; i++)
            {
                    odwiedzone[i] = 0;        
            }
            Kolejka kolejka;
            int tmp;
            node* p = new node;
            kolejka.dodajNaKoniec(v);
            odwiedzone[v]=1;
            while(!kolejka.pusta())
            {
                  tmp = kolejka.usunZPoczatku();
                  cout<<tmp/*<<" "*/;
                  p = lista[tmp]; 
                  while(p!=NULL)
                  {
                                if(odwiedzone[p->inf]==0)
                                {
                                     kolejka.dodajNaKoniec(p->inf);
                                     odwiedzone[p->inf] = 1;
                                }
                                p = p->next;
                  }                                         
            }
       }
};
int main()
{
    int t, n, z, m, v, a, b=0;
    cin>>t;
    Graf tabGrafow[t];
    for(int i = 0; i < t; i++)
    {
            cin>>n;
            tabGrafow[i].wierzcholki = n;
            for(int j = 0; j < n; j++)
            {       
                    b=0;
                    cin>>z;
                    cin>>m;
                    for( int k = 0; k < m; k++)
                    {
                         cin>>a;
                         tabGrafow[i].dodaj(z,a);
                    }
            }
            cout<<"graph "<<i+1<<endl;
            cin>>z;
            cin>>m;
            while(z!=0)
            {
                       if(m==1)
                       {
                               tabGrafow[i].BFS(z);
                       }
                       else
                       {
                               tabGrafow[i].DFS(z);
                       } 
            //cout<<endl;
            cin>>z;
            cin>>m;                    
            } 
    }
}

@edit
dobrze, chyba juz wiem gdzie mam blad D: zle mi dodaje w liscie sasiedztwa elementy :<

1 month later

Witam, mam mały problem, mianowicie nie wiem co jest nie tak z moim kodem confused

Tu był kod.
7 months later
2 months later

Witam. co oznacza threshold: 5 jako wynik tego zadania? 2 pierwsze zestawy przeszedłem bez problemu i teraz próbuję napisać na tyle szybki algorytm żeby zaliczyło 3. I chyba mi się udało, bo na ideone dla

1
3
10000

mam czas działania 0.1s

edit: właśnie mi zaliczyło, po drobnej optymalizacji. Ale dalej przydało by się info co to za kod błędu.

Prawdopodobnie chodzi o to, że próg, aby zadanie zostało zaakceptowane wynosi 5 pkt.