Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for The Square Chest by derrickding95
from typing import List
def checkio(lines_list: List[List[int]]) -> int:
n=0
for i in range(len(lines_list)):
if lines_list[i][0] > lines_list[i][1]:
lines_list[i][0],lines_list[i][1] = lines_list[i][1],lines_list[i][0]
for i,j in lines_list:
if j == i+1:
if [i+4,i+5] in lines_list and [i,i+4] in lines_list and [j,j+4] in lines_list:
n += 1
if ([j,j+1] in lines_list and
[i+8,i+9] in lines_list and
[i+9,i+10] in lines_list and
[i,i+4] in lines_list and
[i+4,i+8] in lines_list and
[i+2,i+6] in lines_list and
[i+6,i+10] in lines_list):
n += 1
if ([1,2] in lines_list and
[2,3] in lines_list and
[3,4] in lines_list and
[13,14] in lines_list and
[14,15] in lines_list and
[15,16] in lines_list and
[1,5] in lines_list and
[5,9] in lines_list and
[9,13] in lines_list and
[4,8] in lines_list and
[8,12] in lines_list and
[12,16] in lines_list):
n += 1
return n
if __name__ == '__main__':
print("Example:")
print(checkio([[1, 2], [3, 4], [1, 5], [2, 6], [4, 8], [5, 6], [6, 7],
[7, 8], [6, 10], [7, 11], [8, 12], [10, 11],
[10, 14], [12, 16], [14, 15], [15, 16]]))
assert (checkio([[1, 2], [3, 4], [1, 5], [2, 6], [4, 8], [5, 6], [6, 7],
[7, 8], [6, 10], [7, 11], [8, 12], [10, 11],
[10, 14], [12, 16], [14, 15], [15, 16]]) == 3), "First, from description"
assert (checkio([[1, 2], [2, 3], [3, 4], [1, 5], [4, 8],
[6, 7], [5, 9], [6, 10], [7, 11], [8, 12],
[9, 13], [10, 11], [12, 16], [13, 14], [14, 15], [15, 16]]) == 2), "Second, from description"
assert (checkio([[1, 2], [1, 5], [2, 6], [5, 6]]) == 1), "Third, one small square"
assert (checkio([[1, 2], [1, 5], [2, 6], [5, 9], [6, 10], [9, 10]]) == 0), "Fourth, it's not square"
assert (checkio([[16, 15], [16, 12], [15, 11], [11, 10],
[10, 14], [14, 13], [13, 9]]) == 0), "Fifth, snake"
print("Coding complete? Click 'Check' to earn cool rewards!")
Aug. 9, 2018
Comments: