Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_16_13 - Gra w odejmowanie |
Kolejna nudna podróż samochodem? Może zagramy w grę: wybieramy trzy liczby a, b i n (0 < a < b < 1000, n < 106, n > a + b). Na zmianę zmniejszamy n o dowolną wartość z przedziału a do b (włącznie), tak aby po zmianie pozostało nieujemne. Przegrywa ten, kto nie może wykonać swojego ruchu.
Twój przeciwnik to prawdziwy mistrz w tej grze. Zawsze wie jak zagrać optymalnie.
Ty jednak rozpracowałeś to, jak Twój przeciwnik zachowuje się podczas rozgrywki. Zauważyłeś, że jeżeli na początku gry nie może wygrać, to jak tylko zdobędzie przewagę, już jej nie odda. Jeśli jednak ma przewagę na starcie, to na skutek roztargnienia popełni jeden pojedynczy błąd. To Twoja szansa!
Wygraj z mistrzem, niezależnie jakie liczby zostaną wybrane.
Uwaga! To jest zadanie interaktywne, po każdym wypisaniu odpowiedzi należy wyczyścić bufor standardowego wyjścia! W przeciwnym wypadku sędzia nie otrzyma Twojej odpowiedzi, zaś wykonanie programu zakończy się werdyktem przekroczenia limitu czasu. Przykładowo w języku programowania C++ do wyczyszczenia bufora można użyć wywołań: fflush(stdout) lub cout.flush() lub cout << endl. W języku programowania Python służy do tego metoda: sys.stdout.flush().
Każda wypisana liczba musi być zakończona znakiem nowej linii.
Wejście/Wyjście
Na wejściu pojawią się liczby a, b, n i t. Są to odpowiednio: najmniejsza i największa liczba, którą można odjąć, liczba od której zaczynamy odejmowanie oraz znacznik gracza początkowego (1 - Ty, 0 - mistrz).
Następnie rozpoczyna się właściwa rozgrywka. W zależności kto wykonuje pierwszy ruch, ten gracz podaje liczbę z przedziału [a, b], którą chce odjąć od liczby n. Wypisanie liczby z poza zakresu lub większej od n, spowoduje zakończenie gry z wynikiem: Runtime error.
Następnie drugi gracz podaje swoją liczbę. I tak dalej. Gra kończy się, gdy nie można wykonać dozwolonego ruchu. Należy wtedy zakończyć działanie programu.
Gracz musi wygrać wszystkie mecze!
Przykładowa rozgrywka
Mistrz: 1 3 11 1 Gracz: 3 Mistrz: 2 Gracz: 2 Mistrz: 1 Gracz: 3
Słowa Mistrz i Gracz nie pojawiają się na wejściu i nie należy ich wyświetlać.
Dodane przez: | Grzegorz Spryszyński |
Data dodania: | 2022-12-16 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |