19 / 47
Dec 2008
2 years later
10 days later

Hmm tez mam problem, tzn ja dostaje WA, ma ktoś może jakieś wredne testy, bo szczerze to nie wiem co może być nie tak...

t to zapewne liczba testów a n liczba liczb w tescie
nie jest to jednak podane w tresci zadania

P.S mój AC ma t i n <= 2^31

Właśnie męczę się z tym zadaniem, ale cały czas mam TLE.
Czy mógłby ktoś mi powiedzieć co w moim rozwiązaniu jest nie tak?

#include<stdio.h>
#include<list>
#include<queue>
#include<stack>
#define MAXN 1002
using namespace std;
class Graf{
      private:
         int n,nrGrafu;
         bool odwiedzony[MAXN];
         list<int> graf[MAXN];
         queue<int> kol;
         void DFS(int start);
         void BFS(int start);
      public:
         Graf(int nr);
         void obsluz();    
      };
Graf::Graf(int nr){
    nrGrafu=nr;           
    scanf("%d", &n);
    for(int i=1; i<=n; i++){
            int m,o,t;
            scanf("%d %d",&o,&m);
             for(int j=0;j<m;j++)  
                    {
                    scanf("%d",&t);
                    graf[o].push_back(t);            
                    };
            };    
     };
 void Graf::obsluz(){
       printf("graph %d\n", nrGrafu);      
       while(1){
                int typ, sta;
                scanf("%d %d",&sta, &typ);
                if( sta == 0) break; 
                for(int i=0; i<=n; i++) odwiedzony[i]=false;
                if (typ==0)  DFS(sta);
                if (typ==1)  BFS(sta);
                printf("\n");  
       };  
      };
void Graf::DFS(int i)
{
odwiedzony[i]=true;
printf("%d ",i);
for(list<int>::iterator k=graf[i].begin(); k!=graf[i].end();k++)
		if(odwiedzony[*k]==false) DFS(*k);
};
void Graf::BFS(int start){
    kol.push(start);
    bool odwiedzony[n+1];
    for(int i=0; i<=n; i++) odwiedzony[i]=false;
    odwiedzony[start]=true;
    while(!kol.empty()){
    printf("%d ", kol.front());
    list<int>::iterator i;
    for(i=graf[kol.front()].begin(); i != graf[kol.front()].end(); ++i){ 
                                     if(!odwiedzony[*i]) kol.push(*i);
                                      odwiedzony[*i]=true; };
    kol.pop();
    };
};
int main(){
int d;
scanf("%d", &d);
for(int nrGr=1;nrGr<=d;nrGr++){
        Graf grafik(nrGr);
        grafik.obsluz();
       };
return 0;  
};
1 year later

No ale skąd ty bierzesz zmienną "t" ? Przecież w tym zadaniu nie ma na początku liczby oznaczającej ilość zestawów danych.

2 months later

takie rozwiązanie powinno przejść. tylko nie podoba mi się ta pętla

while(1)
{...}

czy Ci to zawsze działało jeśli ilość danych wejściowych była nieokreślona?
i po co dwa razy w pętli cin.eof()?

2 months later

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