#!/usr/bin/env python3 import sys import requests import socket def posli(url: str, value: str) -> list[str]: if value is None: raise ValueError("Hodnota prikazu nesmi byt None") try: odpoved = requests.get(url, params={"q": value}, timeout=10) odpoved.raise_for_status() except requests.RequestException as error: # vypis odpovedi serveru pro ladeni if error.response is not None: print(f"DEBUG: odpoved serveru: {error.response.text}", file=sys.stderr) else: print(f"Komunikace se serverem selhala: {error}", file=sys.stderr) sys.exit(1) radky = odpoved.text.splitlines() if len(radky) < 2: radky.append("\n") return radky def main(): n = int(input()) url = input().strip() mince = set(range(1, 2 * n + 1)) stav, url = posli(url, "new") while True: if stav.startswith("WIN"): print(stav) return N_dal, N_vybral = stav.split(",", 1) # TODO: Implementujte zbytek algoritmu pro hru s Norbertem a Olafem podle zadání. Na konci WHILE cyklu stačí aby byla vyplněna proměnná prikaz O_dal, O_vybral = "N", "2" # tohle budte posílat stav, url = posli(url, f"{O_dal},{O_vybral}") if __name__ == "__main__": main() # Prosím, neodstraňujte tento kód. Je to workaround pro problém s DNS cache. # Pokud to odstraníte tak se může stát, že vám testy neprojdou na stavu temporary DNS failure _dns_cache = {} _original_getaddrinfo = socket.getaddrinfo def cached_getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): cache_key = (host, port, family, type, proto, flags) if cache_key not in _dns_cache: _dns_cache[cache_key] = _original_getaddrinfo(host, port, family, type, proto, flags) return _dns_cache[cache_key] socket.getaddrinfo = cached_getaddrinfo