题目
思路
将所有窗口信息放入一个list,规定最后放入的窗口信息为最上层窗口,依次向前为前面窗口 再定义一个相同的list1,使之前的list进行窗口变换,list1用于查看顶层窗口的索引值 若一个点不在最上层窗口,则进入下一层,以此类推,直到点位于某一窗口 此时相当于将这一窗口与原来最顶层的窗口进行了换位
此处需要理解题目中所给定的 剩余窗口的层次顺序不变 所以是直接与最顶层换位置
此题目并不是一个一个窗口去进行尝试,直到找到位于最上层的窗口 如果题目是这样,那么就需要将正确层次的 前几层 进行 倒序 存入列表,可以略微增加题目难度
代码实现
a
= input().split
()
b
= int(a
[0])
c
= int(a
[1])
w_list
= []
w_list1
= []
d_list
= []
for i
in range(b
):
d
= input().split
()
w_list
.append
(d
)
w_list1
.append
(d
)
for j
in range(c
):
e
= input().split
()
d_list
.append
(e
)
for i
in range(c
):
g
= d_list
[i
][0]
h
= d_list
[i
][1]
for j
in range(1, int(b
)+1):
if int(w_list
[b
-j
][0]) <= int(g
) <= int(w_list
[b
-j
][2]) and int(w_list
[b
-j
][1]) <= int(h
) <= int(w_list
[b
-j
][3]):
print(w_list1
.index
(w_list
[b
-j
])+1)
x
= w_list
[b
-1]
w_list
[b
-1] = w_list
[b
-j
]
w_list
[b
-j
] = x
break
else:
print("IGNORED")