def near_check(x,y):
count = 4
for i in [,,,]:
if i < 0 or i < 0:
continue
try:
if chart]]:
count -= 1
except IndexError:
continue
return count
perimeter = 0
for x in range(len(chart)):
for y in range(len(chart)):
if chart:
perimeter += near_check(x,y)
return perimeter 占楼
def graid_lake(k=None):
k = [
,
,
,
]
total_grid = 0
for (x, a) in enumerate(k):
for (y, b) in enumerate(a):
# x,y为横纵坐标,a,b为各自元素
if b == 1:
# 判断是否为顶边或者上边可以有边
if (x == 0) or (k == 0):
top = 1
else:
top = 0
# 判断是否为底边或者下边可以有边
if (x == len(k) - 1) or (k == 0):
bottom = 1
else:
bottom = 0
# 判断是否为最左边或者左边可以有边
if (y == 0) or (k == 0):
left = 1
else:
left = 0
# 判断是否为最右边或者右边可以有边
if (y == len(a) - 1) or (k == 0):
right = 1
else:
right = 0
total_grid += (top + bottom + right + left)
return total_grid def fun389(grid):
result = 0
row = 0#同下
for i in grid:
square = 0#用于计数,以便找到遍历到哪一个格子里
for j in i:
if j == 1:
if i == 0 and square != 0:
result += 1
elif row == 0:
result += 1
if grid == 0 and row != 0:
result += 1
elif square == 0:
result += 1
square += 1
row += 1
result *= 2
return result
'''
输入:[
,
,
,
]
输出:16
输入:[
,
,
,
,
]
输出:28
def solution(matrix):
#输入一个矩阵,获得矩阵的长和宽
width = len(matrix)
lenth = len(matrix)
perimeter = 0
for i in range(width):
for j in range(lenth):
if matrix == 1:
#判断该方格上面是否有陆地
if i > 0:
if matrix == 0:
perimeter += 1
else:
perimeter += 1
#判断方格左边是否有陆地
if j > 0:
if matrix == 0:
perimeter += 1
else:
perimeter += 1
#判断方格右边是否有陆地
if j < (lenth-1):
if matrix == 0:
perimeter += 1
else:
perimeter += 1
#判断方格下方是否有陆地
if i < (width-1):
if matrix == 0:
perimeter += 1
else:
perimeter += 1
return perimeter
test = [
,
,
,
]
print(solution(test)) 本帖最后由 huainian2333 于 2020-5-22 19:29 编辑
def fun(ls):
n1,n2 = sum(),0
for i in range(len(ls)):
for j in range(len(ls)-1):
if ls == ls == 1:
n2 += 1
for i in range(len(ls)):
for j in range(len(ls)-1):
if ls == ls == 1:
n2 += 1
return (4 * n1 - 2 * n2)
ls = eval(input())
print(fun(ls)) {:10_334:} def fun389(grid):
i = len(grid)
k = 0
for a in range(i):
for b in range(i):
if grid == 1:
k += 1
result = k*4
count = 0
for a in range(i):
for b in range(i-1):
if grid + grid == 2:
count += 1
for a in range(i-1):
for b in range(i):
if grid + grid == 2:
count += 1
result = result - count*2
return result
grid1 = [
,
,
,
]
print(fun389(grid1))
页:
1
[2]