העיתונים בארץ כולל העיתון של המדינה (ובעיקר ברכבת) כוללים גירסא מיוחדת של פאזל חידאתו (hidato puzzle). מדובר בפאזל המפוזרים בו מספרים, בגירסא הרווחת בארץ בין 1-61, וצריך לאתר ולשבץ את המספרים החסרים בפאזל, כאשר החוק הוא שכל מספר חייב לגור בשכנות למספר הגדול והקטן ממנו (למעט המספרים 1 ו- 61 שלהם יש רק שכן מצד אחד).
באינטרנט ניתן למצוא פותרי חידאתו לגירסאות ישנות של החידה כאשר המספרים נמצאים בתוך תאים ריבועיים (כמו תשבץ). אנחנו מציגים פתרון לחידות המתפרסמות בידיעות אחרונות שבו מוצג תשבץ בתוך לוח משושה עם תאים משושים.
הפתרון שלנו (python 3 כמובן) בהמשך נפרסם הסבר לקוד (לעת עתה אפשר לנסות לפענח לבד - זה לא קל):
board = [] given = [] start = None def setup(s): global board, given, start lines = s.splitlines() ncols = len(lines[4].split()) nrows = len(lines) board = [[-1] * (ncols + 2) for _ in range(nrows + 2)] for r, row in enumerate(lines): for c, cell in enumerate(row.split()): if cell == "__": board[r + 1][c + 1] = 0 continue elif cell == ".": continue # -1 else: val = int(cell) board[r + 1][c + 1] = val given.append(val) if val == 1: start = (r + 1, c + 1) given.sort() def solve(r, c, n, next=0): if n > given[-1]: return True if board[r][c] and board[r][c] != n: return False if board[r][c] == 0 and given[next] == n: return False back = 0 if board[r][c] == n: next += 1 back = n board[r][c] = n for i in [-1,0,1]: if i ==0: for j in [-1,1]: if solve(r + i, c + j, n +1, next): return True if i==-1 and r<6: for j in [0,1]: if solve(r + i, c + j, n +1, next): return True if i==-1 and r>5: for j in [-1,0]: if solve(r + i, c + j, n +1, next): return True if i==1 and r<5: for j in [-1,0]: if solve(r + i, c + j, n +1, next): return True if i==1 and r>4: for j in [1,0]: if solve(r + i, c + j, n +1, next): return True board[r][c] = back return False def print_board(): d = {-1: " ", 0: "__"} bmax = max(max(r) for r in board) form = "%" + str(len(str(bmax)) + 1) + "s" for r in board[1:-1]: print( "".join(form % d.get(c, str(c)) for c in r[1:-1])) #here you put the board "__" for empty cell "." for vacant place in th row (out of the hive) #hi =". . . . __ __ __ 25 __ . . . .\n. . . __ 20 __ __ 23 __ . . .\n. . __ __ __ __ __ __ 1 . .\n. __ __ __ __ 17 __ __ __ .\n33 __ 60 __ __ 15 13 12 __\n. 36 __ 61 __ 54 __ __ __ .\n. . __ __ __ __ 53 51 __ . .\n. . . 39 __ 43 __ __ __ . . .\n. . . . 41 __ __ __ __ . . . ." hi =". . . . __ __ __ __ __ . . . .\n. . . __ 48 __ __ __ 42 . . .\n. . __ 51 __ __ __ 41 1 . .\n. __ __ 59 __ 61 __ __ __ .\n__ 56 __ __ __ 33 __ 5 __\n. __ 57 __ 25 __ __ 9 __ .\n. . 22 __ 24 __ __ 10 __ . .\n. . . __ 18 __ __ 12 __ . . .\n. . . . __ __ 15 __ __ . . . ." setup(hi) print_board() print("********************") solve(start[0], start[1], 1) print_board()
"""out put:
__ __ __ __ __
__ 48 __ __ __ 42
__ 51 __ __ __ 41 1
__ __ 59 __ 61 __ __ __
__ 56 __ __ __ 33 __ 5 __
__ 57 __ 25 __ __ 9 __
22 __ 24 __ __ 10 __
__ 18 __ __ 12 __
__ __ 15 __ __
********************
47 46 45 44 43
49 48 38 39 40 42
50 51 37 36 35 41 1
53 52 59 60 61 34 3 2
54 56 58 27 28 33 4 5 6
55 57 26 25 29 32 9 7
22 23 24 30 31 10 8
21 18 17 16 12 11
20 19 15 14 13
"""
Z mojego doświadczenia wynika, że Nie ma wielu dużych kasyn internetowych. Jeśli spojrzysz na kasyno Slottica casino, będziesz Szczegóły pewien, że jest to coś, co może pomóc ci przestać wykonywać pracę, której nienawidzisz, Tam znajdziesz największą liczbę różnorodnych gier, od gier stołowych po gry slotowe.