Diskuze: Čítanie vstupu / KSP cvičenie
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Na zadání jsem se nedíval, ale jestli máš problém s tím, že to nemůžeš dostatečně rychle zpracovat, tak zkus buildnout release verzi a spustit ji normálně mimo visual studio a až pak do ní vložit vstup. Na mém počítači to dělá mezi debug a release verzí obrovský rozdíl. Jestli to nepomůže, musíš prostě vymyslet lepší řešení. Když jsem dělal různé algoritmizační cvičení, téměř všude byla nějaká drobnost, díky které jsi mohl několikanásobně zrychlit výpočet.
Třeba jsem měl algoritmus O(n4). Ale ono stačilo vydělit výsledek dvěma (za určitých okolností), aby stačil algoritmus O(n2). Nevím jak to je u tvých úloh, ale u úloh co jsem řešil já tam většinou nějaký podobný chyták byl.
EDIT: Jinak varianta scanf() by mělo být normálně Console.ReadLine(). Možná zkus udělat možnost zadávání vstupu ze souboru, ale nemyslím, že to pomůže. Kdyžtak můžeš zkusit změřit, kolik času ti trvá načítání vstupu a kolik samotné řešení.
Vďaka za odpoveď, čo sa týka zadávania vstupu do konzole ručne tak by som musel napísať 5 000 000 čísiel a to je trocha na dlho. Na tej stránke to testuje ich program a len dostanem odpoveď ako dlho to trvalo.
Vstup iný ako z konzole je zakázaný takže súbory použiť nemôžem. No a na viacerých miestach som čítal že Java, C# a myslím Python majú pomalé načítanie vstupu oproti C++ takže preto som si myslel že Console.Readline() je v niečom iný ako scanf().
C++ je obecně oproti C# rychlejší snad (skoro) pořád, ale ty testy by měli být navrhnuté tak, aby bylo jedno, jestli to děláš v C# nebo v C++. Načítání z console je v pořádku, spíš někde bude nějaká možnost, jak ten algoritmus zrychlit.
Zobrazeno 4 zpráv z 4.