Ostatnie posty

Mam problem z interpretacją zadania pt. Mnożenie. Bajtek chce dać Bajtosi takie klocki, których iloczyn liczb jest równy T co sugeruje że powinien dać jej co najmniej dwa klocki, jednak N może być równe 1, a w pierwszym dodatkowym ograniczeniu występuje zapis "co najwyżej dwa klocki".
Zastanawiam się, czy jest możliwa sytuacja żeby Bajtek dał Bajtosi jeden klocek, na którym byłaby napisana liczba T - czy będzie to zgodne z warunkami zadania.

np.

Wejście
3 20
20 2 10

Wyjście:
1
20
potwierdzam wszystkie testy
potwierdzam wszystkie testy
potwierdzam wszystkie testy
Przesyłam narzędzie które napisałem do testowania zadań. Pozwala ono na sprawdzanie poprawności programu poprzez podanie folderu z plikami .in i .out oraz sprawdzanie czy program wykonał się w odpowiednim czasie. Pozwala również na masowe generowanie plików .out z plików .in do podanych folderów.

Użycie:
oijtester --check <komenda> <folder wejścia> <folder wyjścia> <czas w sekundach> <liczba wątków (opcjonalne)>
oijtester --gen <komenda> <folder wejścia> <folder wyjścia> <liczba wątków (opcjonalne)>

Np. ./oijtester-linux --check ./antypalindrom in/ out/ 1 4

--check - sprawdza testy
--gen - generuje testy z plików .in

Informacja: Liczba wątków jest domyślnie ustawiona na ilość rdzeni procesora.
Testowane na systemach Windows i Linux. Kompilowane kompilatorem GCC/Mingw.

Buildy:

Linux (x64): https://drive.google.com/file/d/1iGskDqXeERaN5a_udrunC0cMWo-Fj36C/view?usp=sharing
Windows (x64): https://drive.google.com/file/d/1Y6WD88-xyDoGpVtGtZW9WwmPgCjKuw_e/view?usp=sharing
Mac OS X: Nie mam jak wykompilować, ale powinno działać.

Kompilacja kodu źródłowego:

Kod źródłowy: https://drive.google.com/file/d/1v2CP4VdlQTP8IynCQZ6-4CEW9loiTvDm/view?usp=sharing
Wymagany kompilator C++ (Najlepiej GCC/Mingw).

Kod należy wypakować i przejść do wypakowanego folderu za pomocą powłoki, następnie wpisać komendę:

Linux / Mac OS X / BSD:
g++ oijtester.cpp -o oijtester -lpthread

Windows:
g++ -static-libstdc++ -static-libgcc oijtester.cpp -o oijtester.exe -std=c++17
Potwierdzam wszystkie testy - szczególnie polecam test mnoz/23/in/test1633.in do przetestowania złożoności/czasu wykonania.
potwierdzam testy z paczek n20, n40, t5, t9, t12, t18 i n100
faktycznie, ignorujcie te testy. W treści i tak jest 2 ≤ t
te testy nie są do końca prawidłowe. Dla testu z t=1 i obecnym 1 w liczbach na klockach odpowiedź powinna być 1, a nie "NIE", jak jest w testach.
Potwierdzam
proszę przejdźcie na odpowiedni wątek. Co do czasu, to pewnie przekracza go liczenie, a nie wypisywanie. Jeśli jesteś na c++, to (jak napisano na stronie oij) dodaj do swojego kodu std::cin.tie(nullptr); std::cout.tie(nullptr); std::ios_base::sync_with_stdio(0);
Na najwiekszym tescie wypisuje sie w 10 sekund i mam przekroczenie limitu czasu
normalnie wypisujesz w czym problem
przepraszam, jak w poniżej 5 sekund poradzić sobie z wyjściem 100000 elementowym, ponieważ gdy n jest rowne 200000, tyle wychodzi
https://drive.google.com/file/d/1HPZA4EoF2z1ngpx-RGT-C7O1qTe-m1XV/view?usp=sharing
przesyłam osiem paczek do zadania mnożenie, oczywiście pliki .out zawierają tylko pierwszą linię wyjścia
paczki ni - dużo małych losowych testów o N <= i
paczki ti - 2137 dużych w miarę losowych testów o T <= 10^i
(oprócz paczki t18, która ma tylko 10 testów i to niskiej jakości)
paczka 23 - 3232 losowych testów, przy czym T i A nie mają żadnych dzielników pierwszych poza 2 i 3