• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SPOJ - 1242. Zliczacz liter - problem

Object Storage Arubacloud
0 głosów
1,526 wizyt
pytanie zadane 29 lipca 2016 w C i C++ przez KiTroN Początkujący (300 p.)
Witam, mam problem z zadaniem na SPOJ-u o nazwie Zliczacz liter: http://pl.spoj.com/problems/JZLICZ/. Kompilator daje dobre wyniki jednak SPOJ zadania nie zalicza. Kod: http://pastebin.com/6JJmESYP.

Prosze o naprowadzenie mnie na blad w kodzie.

1 odpowiedź

+1 głos
odpowiedź 29 lipca 2016 przez MichuDev Pasjonat (20,300 p.)
wybrane 29 lipca 2016 przez KiTroN
 
Najlepsza
  • Zacznijmy od tego, że użycie std::map lub std::unordered_map jest lepszym wyborem niż trzymanie alfabetu w łańcuchu.
  • Dajesz znak ':" przy spacji podczas wypisywania, gdy jest on zbędny patrząc na przykład.
  • Po co na końcu pobierać znak ze strumienia. Na SPOJ'u nie rób tak możesz odpalić program z terminala lub usunąć to przed wysłaniem kodu do sędziego.

 

komentarz 29 lipca 2016 przez KiTroN Początkujący (300 p.)
Dzięki za odpowiedź :D. Umiem na razie tylko podstawy podstaw C++ więc z mapami nie miałem jeszcze styczności. Ale rzeczywiście po usunięciu dwukropka zadanie zostało zaliczone :D
komentarz 29 lipca 2016 przez ZakosiliMiNeta Nałogowiec (30,870 p.)
  • Zacznijmy od tego, że użycie std::map lub std::unordered_map jest lepszym wyborem niż trzymanie alfabetu w łańcuchu.

Nie zgodzę się. Wyciąganie danych z mapy trwa O (n* log(n)) w dodatku z duża stała ,  Wyciągniecie z tablicy lub z łańcucha trwa O ( 1 )

komentarz 30 lipca 2016 przez MichuDev Pasjonat (20,300 p.)

+ZakosiliMiNeta tak masz racje, ale jest to bardziej czytelne dla osoby czytającej kod. Kontenery STL są bardzo szybkie.

 

 

komentarz 30 lipca 2016 przez ZakosiliMiNeta Nałogowiec (30,870 p.)
Nadal się nie zgodzę na SPOJ. W tych zadaniach chodzi o szybkość wykonania programu a nie o czytelność. Kontenery STL typu set, mapa są uniwersalne czyli służą wielu zadaniom. Często implementację pod konkretne zadanie będzie szybsze niż STL
komentarz 30 lipca 2016 przez MichuDev Pasjonat (20,300 p.)
Tak ale ja mam na myśli program, który jest jakości produkcyjnej (a przynajmniej stara się o taką jakość). Wiem, że takie zadania są do nauki, ale przyzwyczajanie się do technik mało czytelnych nie jest dobre!
komentarz 30 lipca 2016 przez ZakosiliMiNeta Nałogowiec (30,870 p.)

Radze poczytać jaki cel mają takie zadania bo widzę, że nie wiesz.

który jest jakości produkcyjnej  

Na spoju ma być wydajność nic więcej.  Jak chce tworzyć dobry kod z estetyką to niech nie robi SPOJA 

Podobne pytania

0 głosów
2 odpowiedzi 587 wizyt
pytanie zadane 2 października 2018 w SPOJ przez krawiecki Początkujący (490 p.)
0 głosów
1 odpowiedź 368 wizyt
pytanie zadane 24 czerwca 2020 w C i C++ przez dernis Nowicjusz (120 p.)
0 głosów
1 odpowiedź 136 wizyt
pytanie zadane 14 czerwca 2022 w C i C++ przez polandonion Mądrala (7,040 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...