16 / 35
Oct 2017

Test:
11
1289312391 0
1 2321323123
2 324324345
3 435435436
4 9080237
5 2163062
6 96123412
7 921638125
8 2128963591
9 21538123
0 182931253

Twój out:
1
1
1
1
1
1
1
1
1
1
1

Prawidłowy out:
1
1
2
1
4
5
6
7
2
9
0

Witam ponownie. Dane które podałeś nie do końca pasują do treści zadania (liczby z zakresu 1 do 1 miliarda) ale naprowadziły mnie na mój błąd. Przekraczałem zakres zmiennej int i zmiana typu pomogła. Dziękuje i pozdrawiam.

1 year later

Podpinam się pod post.
Otrzymuje poprawne dane na wyjściu, zakres nie jest przekroczony. Wydaje mi się że wszystko jest dobrze. Po przesłaniu otrzymuję: błąd wykonania (NZEC) Ktoś podpowie, co robię źle?
Poniżej przesyłam kod (Python3):

def potega (x,y):
if y==0: return 1
else:
return (x*(potega)(x,(y-1))%10)

D = abs(int(input()))
i=1
while (i<=D):
a,b = input().split()
print(potega(abs(int(a))%100,abs(int(b))%100))

Nie znam sie za bardzo na Pythonie, ale...

Wczytujesz liczbe danych na wejsciu a potem kolejne liczby z wejscia - ok. Nie wiem po co jest ten abs, ale niech bedzie ze spoj wymaga czy cos tego typu. W kazdym razie przepisalem po kolei Twoj skrypt i interpreter podolal.

Za to funkcji kompletnie nie pojmuje. Rozumiem print(potega(abs(int(a)),abs(int(b)))), ale tu modulo 100 tam modulo 100 tam modulo 10... Do tego rekurencyjne wywolywanie potegi?!

Nie wiem jaki masz pomysl na to zadanie, ale rozwiazanie jest w czasie O(t), gdzie t to liczba testow. Jak wolisz odpowiedz dla kazdej pary liczb jest w O(1). Mysle ze powyzsza funkcja dziala wolniej...

Poza tym dla maksymalnych wartosci a i b uzyskalem bledna odpowiedz.

  1. Źle wklejasz [przesyłasz] kod.
  2. Źle testujesz.
  3. Żle używasz pętli.
6 months later

Jak?

Na moje oko, ten twój knod, daje WA, a nie TLE, ale przy odrobinie szczęścia do testów, TLE też jest możliwe.

Oprócz tego błędu, który robi każdy czyli liczysz potęgę, tylko tak żeby się sędzia nie zorientował (?):

cin >>a >>b;

int x=a;
for(int i=1;i<b;i++)
{
    a*=x;
}

to wypisujesz spacje zamiast wyniku dla a <= 10.

NIe wiem co ja miałem w głowie dając ten warunek a>10. To jak moge poznać liczbe jedności bez liczenia potęgi?

A to nie na tym polega rozwiązywanie zadań na SPOJu, żeby to samemu wymyślić? Na sprawdzianie/kartkówce/maturze/kolokwium/egzaminie/… chyba nie zadaje się pytania typu: “to jak mogę rozwiązać to zadanie jeżeli nie znam promienia okręgu?”

Choć - ciekawostka i offtop - ostatnio ktoś męczył mnie SMSami dotyczącymi jakże trudnego zadania (a właściwie podpunktu b) tego zadania) z radiometrii. W zadaniu była wskazówka, zgodnie z którą niewiadomą wielkość należało obliczyć przy upraszczającym założeniu, że liczby masowe obu izotopów kalifornu są równe i w dniu cechowania iloraz liczby jąder obu izotopów wynosił 79/15, a w chwili obecnej iloraz ten jest równy ilorazowi mas tych izotopów w źródle kalibracyjnym. Zadanie sprowadza się do proporcji typu 79/15 = x/y, gdzie x było znane z podpunktu a). O ile podpunkt a) sprowadzał się do podstawienia danych do wzoru z Wikipedii, podpunkt b) wymagał trochę myślenia (czy na podstawie danych z zadania mogę to zrobić inaczej?) oraz umiejętności czytania ze zrozumieniem (choć każdy miewa słabszy dzień 12231. Kolejka [AL_01_02] :wink: ). O ile rozumiem, że ktoś mógł się “zamotać” (pora była późna, a do tego końcówka wakacji) to jednej rzeczy nie rozumiem. Otóż poznałem tysiące teorii o beznadziejnych zadaniach, pracownikach dydaktycznych uczelni, braku pomocy ze strony pracowników uniwersytetu, wprowadzających w błąd treściach i wskazówkach, brakujących danych, niekompetentnych prowadzących dających zadania, których sami nie potrafią rozwiązać, tylko ktoś dał im odpowiedzi, … . Po uświadomieniu kolegi, że w zadaniu chodzi o coś typu 30/15 = 10/x (z drobnymi przekształceniami i obliczeniami pomocniczymi, o które mniejsza) dowiedziałem się, że zadanie i tak jest do d… a dowodzi tego fakt, że… udało mi się je rozwiązać. I po co pytać jak coś zrobić, albo męczyć się na jakimś SPOJu, skoro można uznać, że zadania są do d…, brakuje danych do ich rozwiązania i tylko ludzie niekompetentni zajmują się czymś tak beznadziejnym? :wink:

Oczywiście masz rację. Nie chodziło mi o podanie gotowego algorytmu tylko o trafną uwagę. Nie twierdze ze zadanie jest bez sensu bo dla mnie jako początkującego każde zadanie ma sens ze względu na moją małą wiedzę w tej dziedzinie. W takim razie pomyślę nad innym rozwiązaniem.
Dziękuję i pozdrawiam cieplutko :wink:

22 days later

Czy w tym zadaniu można użyć funkcji pow? Napisałem je o tak: https://ideone.com/wPZtrG10 - działa mi dla liczb które wpisywałem natomiast sędzia wyrzuca błędny wynik… Jest ktoś w stanie mi pomóc?

w innym wątku (najdłuższym) poświęconym temu zadaniu znajdziesz odpowiedź

zresztą w tym wątku też - choć nie bezpośrednio :slight_smile:

problem u mnie jest taki że zupełnie inaczej do niego podszedłem niż wszyscy poprzednicy tutaj, nie za bardzo odnajduję jakąś analogię żeby poprawić swój kod
@edit dopiero po rozpisaniu sobie liczb w excelu zrozumiałem że zadanie polega na znalezieniu zależności a nie wypisaniu ostatniej liczby potęgi, nie było tematu :neutral_face:

17 days later

Hej ja też poległem, pojąłem idę zadania, w sensie nie liczę potęg tylko if-uję zależności, jak dla mnie wszystkie wyniki są poprawne, a jednak mam błędną odpowiedź, podpowie ktoś co jest nie tak?

Algorytm ok, ale przypadki testowe źle wczytujesz. Tylko przypadkiem działa dla danych pod zadaniem.

Faktycznie, dzięki bo już zgłupiałem, w poprzednich zadaniach działał taki sposób więc myślałem, że taki urok “sędziego”:wink:

Nie wiem jak w innych książkach, ale w C++ Szkoła Programowania taki sposób wczytywania, gdy nie znasz ilości danych testowych jest tym “prawilnym”.