====== 01 Úvod ====== * quiz * [[https://cyber.felk.cvut.cz/study/computer-labs/|počítačové laboratoře]] na [[http://cyber.felk.cvut.cz|K133]] * https://www.cesnet.cz/sluzby/owncloud/ * programování rozhodnutí o řešitelnosti puzzle ===== Řešitelnost n-1 puzzle ===== Bylo diskutováno na přednášce. Stáhněte si {{ :courses:b3b33kui:cviceni:program_po_tydnech:npuzzle.py |}}. Vaším úkolem je naimplementovat funkci ''is_solvable(env)'', která rozhodne, zda je rozestavění destiček řešitelné čí nikoli. Funkci naimplementujte v modulu ''solvability_check.py'' a odevzdejte do [[https://cw.felk.cvut.cz/brute/teacher/|BRUTE]]. Za správné řešení máte 2 body. Základní kostra (''solvability_check.py''): import npuzzle def is_solvable(env): ''' True or False? Tady naprogramujte svoje reseni ''' if __name__=="__main__": env = npuzzle.NPuzzle(3) env.reset() env.visualise() # just check print(is_solvable(env)) Základní komunikace s objektem NPuzzle je přes metodu ''env.read_tile(row, col)'', která vrátí hodnotu dlaždice, prázdná je ''None'' nebo vyvolá výjimku ''IndexError'' v případě pokud se pokusíte číst mimo hrací pole. Příklad použítí je dobře vidět v ''npuzzle.py'' ===== Quizz ===== > {{page>courses:b3b33kui:internal:quizzes#4-1-puzzle}}