Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
AL_14_12 - Kto narysuje większy kwadrat? |
Antek i Basia lubią teraz grać w kwadraty. Aby rozpocząć, każdy z graczy bierze dużą kartkę papieru w kratkę i rysuje na niej kwadrat o jednostkowym boku. Następnie uruchamiany jest zegar i gracze starają się w określonym czasie wykonać jak najwięcej ruchów. Ruch polega na zbudowaniu kwadratu na wybranym boku prostokąta znajdującego się na kartce. Oczywiście w pierwszym ruchu możemy jedynie, do wybranego boku początkowego kwadratu, dorysować kolejny kwadrat o jednostkowym polu. Otrzymamy wtedy prostokąt 1x2 lub 2x1. Po dwóch ruchach, na kartce może się pojawić jeden z czterech prostokątów: 1x3, 3x1, 2x3, 3x2.
Celem gry jest zbudowanie jak największego kwadratu. Antek i Basia wykonują oczywiście zawsze najlepsze z możliwych ruchów, więc wynik potyczki zależy tylko od szybkości z jaką dorysowują kolejne kwadraty. Po zakończonej grze, zapisują wynik w postaci ułamka, w którego liczniku jest pole największego kwadratu narysowanego przez Antka, a w mianowniku - pole największego kwadratu Basi. Aby zapis ułamka uprościć, dzieci skracają go najbardziej jak to jest możliwe, a następnie zarówno licznik, jak i mianownik zapisują modulo 1000000103.
Twoim zadaniem jest napisanie programu, których na podstawie liczby ruchów wykonanych przez Antka i Basię w danej grze, wyznaczy jej wynik w postaci opisanego wyżej ułamka.
Wejście
W pierwszej linii liczba przypadków testowych (gier) t (t ≤ 100000).
W każdej z kolejnych t linii po dwie liczby całkowite a i b (1 ≤ a,b ≤ 109) oznaczające odpowiednio liczbę kwadratów narysowanych przez Antka i Basię.
Wyjście
Dla każdego przypadku testowego wynik gry zapisany jako dwie liczby całkowite oddzielone znakiem '/', z których pierwsza oznacza licznik, a druga mianownik opisanego w treści zadania ułamka.
Przykład
Wejście: 6 2 3 9 4 5 14 45675 45675 12345 24691 125000012 333333367 Wyjście: 4/9 121/1 16/93025 1/1 1/512494016 939781443/0
Dodane przez: | Witold Długosz |
Data dodania: | 2014-02-10 |
Limit czasu wykonania programu: | 1s-2s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU |
Pochodzenie: | ALGOLIGA |
ukryj komentarze
2014-02-16 20:16:01 Witold D³ugosz
Na forum Algoligi niedługo pojawi się opis rozwiązań. |
|
2014-02-16 20:14:49 Witold D³ugosz
Np. a=333333367 b=666666735. Wynik 1/4(bo fib(333333368)==fib(666666736)==0 (mod 1000000103) ) |
|
2014-02-16 20:04:44 Karol Ró¿ycki
Czy można już wiedzieć co to za newralgiczny test? |
|
2014-02-15 23:52:25 Witold D³ugosz
@Karol No niestety, ale taki newralgiczny test, którego Twój program nie przechodzi, musisz znaleźć sam. |
|
2014-02-15 21:47:09 Karol Ró¿ycki
Czy można prosić o jakiś dodatkowy test? Przykładowy mi przechodzi i nie mam pojęcia co może być źle. |
|
2014-02-15 17:38:02 Witold D³ugosz
@Mateusz Wasylkiewicz Gratulacje! |
|
2014-02-15 15:39:23 Witold D³ugosz
Ta czwórka to nie bok. |
|
2014-02-15 15:03:41 Mateusz Wasylkiewicz
W jaki sposób Antek może uzyskać kwadrat o boku co najmniej 4 w dwóch ruchach? |