python 快救救孩子吧
查看原帖
python 快救救孩子吧
616823
oobbmm楼主2022/1/17 19:56
# 输入数据 变成一个3维数组
temp = list(map(int,input().split()))
w = temp[0]
x = temp[1]
h = temp[2]
q = int(input())
arr = []
for i in range(q):
    temp = list(map(int,input().split()))
    arr1 = temp[0:3]
    arr2 = temp[3:]
    lst = []
    lst.append(arr1)
    lst.append(arr2)
    arr.append(lst)
# 求出切割掉的小正方体的坐标
lis = []
for i in range(q):
    # 这里代入 输出样例 为什么我的只能到1 range(1,3) 不应该到2 吗?
    for j in range(arr[i][0][0],arr[i][0][1]+1): 
        for z in range(arr[i][0][1],arr[i][1][1]+1):
            for y in range(arr[i][0][2],arr[i][1][2]+1):
                lis.append([j,z,y])
v = w*x*h
# 去掉重复的坐标 换成[]
for i in range(len(lis)):
    for j in range(i):
        if lis[i]==lis[j]:
            lis.remove(lis[j])
            lis.append([])
# 求出实际切掉的正方体数目
n = 0
for i in lis:
    if lis!=[]:
        n = n+1
# 输出结果
print(v-n)
2022/1/17 19:56
加载中...