2 / 12
Dec 2017

Czy taka kwalifikacja rozwiązania może być spowodowana przez zbyt wolne połączenie sieciowe?

  • created

    Dec '17
  • last reply

    Aug '20
  • 11

    replies

  • 1.6k

    views

  • 6

    users

  • 5

    likes

  • 5

    links

a czy napisany przez ciebie program używa połączenia sieciowego ?

dla ułatwienia odpowiedzi: zgodnie ze specyfikacją rozwiązań na spoj-u zabronione jest używanie plików, połączeń sieciowych, powoływanie procesów

może powinnaś sięgnąć do literatury o metodach wyznaczania liczb pierwszych ?

Nieścisłości rodzą nieporozumienia, chodziło mi o moje połączenie internetowe.

W kompilatorze kod źródłowy wykonuje się szybko i poprawnie, więc nie wiem skąd przekroczenie czasu.

Nie widzę nieporozumienia. Może faktycznie:

albo poczytać jak SPOJ działa?

PS
Kolejna podpowiedź: czas kompilacji nie jest uwzględniany podczas wykonywania zadania. Status zgłoszenia nie zależy od kompilacji, o ile nie zakończy się ona błędem.

Więc czy mogę prosić o link? Odpowiadając na poprzednie pytanie, program sam w sobie nie używa połączenia sieciowego.

W kompilatorze kod źródłowy tylko się kompiluje [albo aż]. Masz na myśli swoje IDE.
U Ciebie kod wykonuje się szybko, bo wykonuje się dla bardzo małych testów [w porównaniu do SPOJ’a].
Jeżeli chodzi o szybkość [wolność] połączenia internetowego, jest zupełnie bez znaczenia. Czas zaczyna się liczyć dopiero po dostarczeniu[w całości] i skompilowaniu twojego kodu na SPOJ’u i nie ważne jak szybko to nastąpi - ten czas nie jest liczony.

PS
Dodatkowe linki:

  1. https://pl.wikipedia.org/wiki/Liczba_pierwsza8
  2. http://discuss.spoj.com/search?q=liczby%20pierwsze9

Dziękuję za odpowiedzi (oraz poprawienie wiedzy teoretycznej dot. nazewnictwa), o takie informacje mi chodziło.

2 years later

Dopiero wczoraj dowiedziałem się o SPOJ i jeszcze nie do końca rozumiem kryteria walidacji kodu do zadań.
Czy jeśli mój kod jest odrzucany z komunikatem o przekroczonym limicie czasu to jednoznacznie świadczy to o tym, że program jest zbyt zawiły i powinien zostać uproszczony?
Na przykład moje rozwiązanie zadanie “Dwie cyfry silni2”, jest odrzucane właśnie z takim komunikatem.

Czy to oznacza, że mój program jest po prostu nieefektywny i powinienem całkowicie zmienić podejście?

Czy to oznacza, że mój program jest po prostu nieefektywny i powinienem całkowicie zmienić podejście?

Tak. Przede wszystkim testuj skrajne testy np:

1
1000000000

Dzięki za cenną radę :smiley:
Pozbyłem się problemu przekroczenia czasu.
Niestety mój poprawiony program dalej nie jest akceptowany, ale teraz przez błędną odpowiedź :confused:

Edit: już ogarnięte :smiley: Jeszcze raz dzięki!

Suggested Topics

Want to read more? Browse other topics in System SPOJ or view latest topics.