DOUGHNUT - Dlaczego SPOJ tego nie akceptuje?

Odpowiedz Nowy wątek
2019-02-10 23:44
0

Hej,stworzyłem kod, ale coś jest nie tak, bo SPOJ teog nie akceptuje. Tu strona zadania: https://pl.spoj.com/problems/DOUGHNUT/

#include <iostream>

using namespace std;

int main()
{
unsigned int t,c,k,w;
cin>>t;
if(t >= 100) cout<<"Liczba nie miesci sie w przedziale";
for(int i=0;i<=t;i++)
{
 cin>>c>>k>>w;
if(((c<1)||(c>=100))||((k<1)||(k>=100))||((w<1)||(w>=100)))
cout<<"Liczba nie miesci sie w przedziale";

 if((c*w)>k)cout<<"no\n";

 else cout<<"yes\n";

}
    return 0;
edytowany 1x, ostatnio: furious programming, 2019-02-10 23:57

Pozostało 580 znaków

2019-02-10 23:56
1

c, k, w <= 100 a ty masz: if(((c<1)||(c>=100))
zresztą po kiego grzyba sprawdzasz czy dane testowe spełniają założenia treści zadania?
To jest tylko dla ciebie, by ci uzmysłowić skalę problemu (czy np nie przekroczysz zakresu zmiennych).
Wywal tego if-a.

Na SPOJ zadania są sprawdzane przez maszynę, więc masz wypisywać dane jedynie tak jak opisuje zadnie.
Wszelkie inne dane wyjściowe, nie opisane w treści będą prowadzić do złej odpowiedzi.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 3x, ostatnio: MarekR22, 2019-02-11 00:01
Dzięki wielkie, teraz rozumiem jak to działa. - Bloody! 2019-02-11 12:18

Pozostało 580 znaków

2019-02-11 07:43
sig
0

Dodatkowo for wykonuje ci się o raz za dużo, powinno być for(int i=0;i<t;i++) a nie i<=t. Popraw to + to co poprzednik napisał i ci zaliczy.

Racja, dzięki! - Bloody! 2019-02-11 12:18

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0