nie wiem - ja uruchomiłem ten kod i jest AC
usuń link do kodu z twojego postu (źle wstawiony, nawiasem mówiąc)
kod lepiej jest przekazywać poprzez link do ideone.com6
nie wiem - ja uruchomiłem ten kod i jest AC
usuń link do kodu z twojego postu (źle wstawiony, nawiasem mówiąc)
kod lepiej jest przekazywać poprzez link do ideone.com6
Witam. Przejrzałem forum i wciąż nie wiem dlaczego według spoja kod jest błędny.
http://ideone.com/sc5h436
Liczę na waszą pomoc.
Cześć
Da się jakoś przyspieszyć mój program żeby mieścił się w czasie, czy lepiej napisać innym sposobem?
Co powinno się stać jeśli spróbuję rozważyć np.12 przypadków, w zadaniu jest max 10?
#include <iostream>
#include <math.h>
using namespace std;
int a[9],b[9], D;
long long potega;
int main()
{
cin >>D;
cout << endl;
for(int c=0; c<D; c++)
{
cin >> a[c];
cin >> b[c];
cout << endl;
}
for(int c=0; c<D; c++)
{
a[c]=a[c]%10;
if(b[c]==0) cout << 1 <<endl;
else
{
if(b[c]%4==1)
{
b[c]=1;
}
else if(b[c]%4==2)
{
b[c]=2;
}
else if(b[c]%4==3)
{
b[c]=3;
}
else if(b[c]%4==4)
{
b[c]=4;
}
else if(b[c]%4==0)
{
b[c]=4;
}
potega = pow(a[c], b[c]);
cout << potega%10 <<endl;
}
}
return 0;
}
Wyskakuje mi błąd, że za wolno chodzi. Domyślam się, że trzeba dać jakieś z góry założenia? Jakaś podpowiedź jak to łatwo zauważyć? Dodatkowo zastanawia mnie dlaczego program wyświetla błędne wyniki dla dużych potęg? Widzi ktoś jakieś błędy?
Z góry dzięki za każdą pomoc, pozdrawiam!
Pierwsze co powinienes zrobic to sprawdzic maksymalny test, potem przeczytac te 130 odpowiedzi powyzej i dopiero dopisac swoje pytanie. Zadanie jest proste ale wymaga inengo podejscia. W pierwszych 5 odpowiedziach masz rozwiazanie twojego problemu, nawet ktos napisal co musisz zrobic. Tego testu twoj program nie przechodzi.
1
1000000000 1000000000
Witam.
Napisałem dla treningu kod. Wydaje mi się że działa dobrze. Nie mogę znaleźć błędu. Jakieś propozycje co to liczb do sprawdzenia.
Pozdrawiam.
Konrad
Wejście jak w treści zadania. W pierwszej linii ilość testów. W następnych testowane pary liczb.
przykładowy test:
10
0 0
3 0
0 5
10 1
1 44
2 12
3 5
99999999 3
11111111 99999999
22222 0
1
1
0
0
1
6
3
9
1
1
czas wykonania programu to 0 sekund
usuń swój kod (poprawne i bliskie poprawnym kody po wyjaśnieniu problemu nie powinny być prezentowane - niech inni też mają szanse samodzielnie rozwiązać problem)
nie ma takiej pary liczb (w zakresie podanym w zadaniu), dla której twój program zwraca błędna wartość - niemniej wyjście programu nie spełnia warunków podanych w zadaniu
a skąd mam wiedzieć czy usuwasz, czy nie ?
ja w każdym razie po usunięciu tych linii dostałem AC
fragment poniżej znalazł się tu na skutek pomyłki (dotyczy innego zadania)
-choć ze skandalicznym czasem (bo algorytm nie ten właściwy, a przechodzi tylko dlatego, że aktualna maszyna testująca jest około 100 razy szybsza niż w momencie publikacji zadania)
nie wiem, pewnie tylko autor zadania może to zmienić, szkoda bo obecnie dla starszych zadań często przechodzą rozwiązania, które miały być (i kiedyś były) niezaliczone
zmniejszenie czasu miałoby także skutki uboczne - dla wielu zadań (głównie z dużymi danymi wejściowymi/wyjściowymi) wyeliminowało by rozwiązania w C#, JAVA, Python, a to obecnie spory procent rozwiązań (a nie egzotyka, jak kiedyś)
Raczej nie, Bo:
PS
AD 3
Oczywiście 16746 zgłoszeń kodów, które były za wolne [TLE] to wynik od początku istnienia zadania. Wystarczy sprawdzić teraz i zobaczyć czy ta liczba się nadal powiększa? I faktycznie tak jest, są nowe takie zgłaszenia.