diff options
| author | Zach DeCook <zach.decook@bettercarpeople.com> | 2026-08-17 08:25:23 -0400 |
|---|---|---|
| committer | Zach DeCook <zach.decook@bettercarpeople.com> | 2026-08-17 08:25:23 -0400 |
| commit | c17744a5e900f5a2198d6a5a782c4dfd9c4ec98e (patch) | |
| tree | 4dcbf70c23945152c554b11f24bbad4c88faaf07 /zanagrams/nearletters.py | |
| parent | 958665b368ca1534ff9db0dcbf5c704a614ae23e (diff) | |
| download | gurglesolver-zanagrams.tar.gz | |
Add zanagrams solver zanagrams
Diffstat (limited to 'zanagrams/nearletters.py')
| -rwxr-xr-x | zanagrams/nearletters.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/zanagrams/nearletters.py b/zanagrams/nearletters.py new file mode 100755 index 0000000..e592e18 --- /dev/null +++ b/zanagrams/nearletters.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import sys + +def main(argv): + badpairs = set() + goodpairs = set() + letters = argv[1].strip() + #print(letters, file=sys.stderr) + #print(len(letters), file=sys.stderr) + if len(letters) == 16: + for x in range(0,16): + l = letters[x] + for y in [[1,4,5], [1,3,4,5], [1,3,4,5], [3,4]][x%4]: + if x+y > 15: + continue + l2 = letters[x+y] + goodpairs.add(l + l2) + goodpairs.add(l2 + l) + + for x in range(0,16): + l = letters[x] + for x2 in range(x,16): + l2 = letters[x2] + if not (l + l2) in goodpairs: + badpairs.add(l + l2) + if not (l2 + l) in goodpairs: + badpairs.add(l2 + l) + + print(goodpairs, file=sys.stderr) + print(badpairs, file=sys.stderr) + while 1: + line = sys.stdin.readline() + line = line.strip() + if not line: + break; + noprint = False + line2 = line.casefold() + for pair in badpairs: + if pair in line2: + noprint = True + break + if line and not noprint: + print(line, end='\n') + +if __name__ == '__main__': + main(sys.argv) |
