Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Don't care about broken solution in Clear category for Seven Segment by Ilis
def seven_segment(lit_seg, broken_seg):
digits0 = {0: set("ABCDEF"),
1: set("BC"), 2: set("ABDEG"), 3: set("ABCDG"),
4: set("BCFG"), 5: set("ACDFG"), 6: set("ACDEFG"),
7: set("ABC"), 8: set("ABCDEFG"), 9: set("ABCDFG")}
digits1 = {0: set("abcdef"),
1: set("bc"), 2: set("abdeg"), 3: set("abcdg"),
4: set("bcfg"), 5: set("acdfg"), 6: set("acdefg"),
7: set("abc"), 8: set("abcdefg"), 9: set("abcdfg")}
lit0 = lit_seg & set("ABCDEFG")
lit1 = lit_seg & set("abcdefg")
brk0 = broken_seg & set("ABCDEFG")
brk1 = broken_seg & set("abcdefg")
digs0 = {dig for dig in digits0 if lit0 == digits0[dig] - brk0}
digs1 = {dig for dig in digits1 if lit1 == digits1[dig] - brk1}
return len({d0 * 10 + d1 for d0 in digs0 for d1 in digs1})
if __name__ == '__main__':
print(seven_segment({'B', 'C', 'b', 'c'}, {'A'}))
# exit(0)
assert seven_segment({'B', 'C', 'b', 'c'}, {'A'}) == 2, '11, 71'
assert seven_segment({'B', 'C', 'a', 'f', 'g', 'c', 'd'}, {'A', 'G', 'D', 'e'}) == 6, '15, 16, 35, 36, 75, 76'
assert seven_segment({'B', 'C', 'a', 'f', 'g', 'c', 'd'}, {'A', 'G', 'D', 'F', 'b', 'e'}) == 20, '15...98'
print('"Run" is good. How is "Check"?')
April 17, 2019
Comments: