Skip to content

Instantly share code, notes, and snippets.

View mihaild's full-sized avatar

Mikhail Dektyarev mihaild

  • http://company.yandex.ru
  • Moscow, Russia
View GitHub Profile
(function() {
const DEFAULT_SESSION_POINTS = 5;
const GM_HAS_RESTRICTIONS = true;
const DEFAULT_MIN_REPEAT_INTERVAL_SECONDS = 60;
function resetPoints() {
const players = findObjs({ _type: "player" });
log(state.FunPoints);
if (!state.FunPoints) {
state.FunPoints = {};
from functools import lru_cache
from collections import defaultdict
from math import log
from tqdm import tqdm
all_words = list(map(str.strip, open('words')))
guesses = list(map(str.strip, open('dict'))) + all_words
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
B(52, 6, 16) = B(51, 6, 16) + B(51, 5, 2) = 124 + 0 = 124
B(51, 6, 16) = B(50, 6, 16) + B(50, 5, 2) = 124 + 0 = 124
B(50, 6, 16) = B(49, 6, 16) + B(49, 5, 2) = 124 + 0 = 124
B(49, 6, 16) = B(48, 6, 16) + B(48, 5, 2) = 124 + 0 = 124
B(48, 6, 16) = B(47, 6, 16) + B(47, 5, 3) = 124 + 0 = 124
B(47, 6, 16) = B(46, 6, 16) + B(46, 5, 3) = 124 + 0 = 124
B(46, 6, 16) = B(45, 6, 16) + B(45, 5, 3) = 124 + 0 = 124
B(45, 6, 16) = B(44, 6, 16) + B(44, 5, 3) = 124 + 0 = 124
B(44, 6, 16) = B(43, 6, 16) + B(43, 5, 4) = 124 + 0 = 124
B(43, 6, 16) = B(42, 6, 16) + B(42, 5, 4) = 124 + 0 = 124
B(52, 6, 21) = B(51, 6, 21) + B(51, 5, 7) = 4624 + 0 = 4624
B(51, 6, 21) = B(50, 6, 21) + B(50, 5, 7) = 4624 + 0 = 4624
B(50, 6, 21) = B(49, 6, 21) + B(49, 5, 7) = 4624 + 0 = 4624
B(49, 6, 21) = B(48, 6, 21) + B(48, 5, 7) = 4624 + 0 = 4624
B(48, 6, 21) = B(47, 6, 21) + B(47, 5, 8) = 4624 + 0 = 4624
B(47, 6, 21) = B(46, 6, 21) + B(46, 5, 8) = 4624 + 0 = 4624
B(46, 6, 21) = B(45, 6, 21) + B(45, 5, 8) = 4624 + 0 = 4624
B(45, 6, 21) = B(44, 6, 21) + B(44, 5, 8) = 4624 + 0 = 4624
B(44, 6, 21) = B(43, 6, 21) + B(43, 5, 9) = 4624 + 0 = 4624
B(43, 6, 21) = B(42, 6, 21) + B(42, 5, 9) = 4624 + 0 = 4624
B(52, 6, 21) = B(51, 6, 21) + B(51, 5, 7) = 4624 + 0 = 4624
B(51, 6, 21) = B(50, 6, 21) + B(50, 5, 7) = 4624 + 0 = 4624
B(50, 6, 21) = B(49, 6, 21) + B(49, 5, 7) = 4624 + 0 = 4624
B(49, 6, 21) = B(48, 6, 21) + B(48, 5, 7) = 4624 + 0 = 4624
B(48, 6, 21) = B(47, 6, 21) + B(47, 5, 8) = 4624 + 0 = 4624
B(47, 6, 21) = B(46, 6, 21) + B(46, 5, 8) = 4624 + 0 = 4624
B(46, 6, 21) = B(45, 6, 21) + B(45, 5, 8) = 4624 + 0 = 4624
B(45, 6, 21) = B(44, 6, 21) + B(44, 5, 8) = 4624 + 0 = 4624
B(44, 6, 21) = B(43, 6, 21) + B(43, 5, 9) = 4624 + 0 = 4624
B(43, 6, 21) = B(42, 6, 21) + B(42, 5, 9) = 4624 + 0 = 4624
B(1, 0, 0) = B(0, 0, 0) + B(0, -1, -2) = 1 + 0 = 1
B(2, 0, 0) = B(1, 0, 0) + B(1, -1, -2) = 1 + 0 = 1
B(3, 0, 0) = B(2, 0, 0) + B(2, -1, -2) = 1 + 0 = 1
B(4, 0, 0) = B(3, 0, 0) + B(3, -1, -2) = 1 + 0 = 1
B(5, 1, 3) = B(4, 1, 3) + B(4, 0, 0) = 0 + 1 = 1
B(6, 2, 6) = B(5, 2, 6) + B(5, 1, 3) = 0 + 1 = 1
B(7, 3, 9) = B(6, 3, 9) + B(6, 2, 6) = 0 + 1 = 1
B(5, 0, 0) = B(4, 0, 0) + B(4, -1, -3) = 1 + 0 = 1
B(6, 1, 3) = B(5, 1, 3) + B(5, 0, 0) = 1 + 1 = 2
B(7, 2, 6) = B(6, 2, 6) + B(6, 1, 3) = 1 + 2 = 3
This file has been truncated, but you can view the full file.
B(52, 6, 21) = B(51, 6, 21) + B(51, 5, 7) = 4624 + 0 = 4624B(51, 5, 7) = B(50, 5, 7) + B(50, 4, -7) = 0 + 0 = 0
B(50, 4, -7) = B(49, 4, -7) + B(49, 3, -21) = 0 + 0 = 0
B(49, 3, -21) = B(48, 3, -21) + B(48, 2, -35) = 0 + 0 = 0
B(48, 2, -35) = B(47, 2, -35) + B(47, 1, -48) = 0 + 0 = 0
B(47, 1, -48) = B(46, 1, -48) + B(46, 0, -61) = 0 + 0 = 0
B(46, 0, -61) = B(45, 0, -61) + B(45, -1, -74) = 0 + 0 = 0
B(45, -1, -74) = B(44, -1, -74) + B(44, -2, -87) = 0 + 0 = 0
B(44, -2, -87) = B(43, -2, -87) + B(43, -3, -99) = 0 + 0 = 0
B(43, -3, -99) = B(42, -3, -99) + B(42, -4, -111) = 0 + 0 = 0
B(42, -4, -111) = B(41, -4, -111) + B(41, -5, -123) = 0 + 0 = 0
This file has been truncated, but you can view the full file.
B(1, 6, 21) = B(0, 6, 21) + B(0, 5, 19) = 0 + 0 = 0
B(1, 5, 19) = B(0, 5, 19) + B(0, 4, 17) = 0 + 0 = 0
B(2, 6, 21) = B(1, 6, 21) + B(1, 5, 19) = 0 + 0 = 0
B(1, 4, 17) = B(0, 4, 17) + B(0, 3, 15) = 0 + 0 = 0
B(2, 5, 19) = B(1, 5, 19) + B(1, 4, 17) = 0 + 0 = 0
B(3, 6, 21) = B(2, 6, 21) + B(2, 5, 19) = 0 + 0 = 0
B(1, 3, 15) = B(0, 3, 15) + B(0, 2, 13) = 0 + 0 = 0
B(2, 4, 17) = B(1, 4, 17) + B(1, 3, 15) = 0 + 0 = 0
B(3, 5, 19) = B(2, 5, 19) + B(2, 4, 17) = 0 + 0 = 0
B(4, 6, 21) = B(3, 6, 21) + B(3, 5, 19) = 0 + 0 = 0
from ortools.sat.python import cp_model
N = 12
model = cp_model.CpModel()
f = [[model.NewIntVar(0, N - 1, f'f{i}{j}') for j in range(N)] for i in range(N)]
g = [[model.NewIntVar(0, N - 1, f'g{i}{j}') for j in range(N)] for i in range(N)]
s = [[model.NewIntVar(0, N * N - 1, f's{i}{j}') for j in range(N)] for i in range(N)]