CCF认证模拟-201403-2-窗口-python

    技术2023-06-18  69

    题目

    思路

    将所有窗口信息放入一个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")
    Processed: 0.038, SQL: 9