Sparing w Programowaniu Zespołowym Politechnika Poznańska, 16.04.2004 |
Zadanie F - Poza rok 2000... |
Wielu z Was zapewne słyszało o problemie roku 2000. W jego wyniku po roku 1999 data w komputerze miała z powrotem przeskoczyć do roku 1900 zamiast 2000. Wydano wiele pieniędzy na poprawienie tego błędu. Jednakże w systemach komputerowych nie jest to jedyny błąd tego typu. W niektórych systemach czas jest liczony w sekundach i przechowywany w 32 bitowej zmiennej. Okazuje się że w takich systemach zegar „przekręci się raz na ok. 136 lat. Twoim zadaniem jest próba znalezienia aktualnej daty na podstawie zafałszowanych (lub nie) w ten sposób datach podanych dla dwóch komputerów z różnym systemem liczenia dat.
Pierwsza linia wejścia będzie zawierała liczbę testów d. Każdy test będzie zawierał dwie linie, po każdej dla jednego komputera. Każdy komputer będzie opisany w 3 liczbach: A, P, K, gdzie A jest aktualnie pokazywaną datą, P początkiem systemu liczenia dat, K - rokiem w którym nastąpi „przekręcenie” się licznika. Możesz spokojnie założyć, że: 1 ≤ P ≤ A < K ≤ 10^9
Dla każdego testu na wyjściu ma się pojawić pojedyncza linia zawierająca najniższą możliwą datę, lub NIE jeżeli taka data nie istnieje.
Wejście2 1941 1900 2000 2005 1904 2040 1998 1900 2000 1999 1900 2000 |
Wyjście2141 NIE |