题目叙述
问题描述:略
输入格式:略
输出格式:略
样例
样例输入
3 4
0 0 4 4
1 1 5 5
2 2 6 6
1 1
0 0
4 4
0 5
样例输出
2
1
1
IGNORED
满分证明
解题思路
- 使用字典单独存放窗口标记,列表的增删以及插入,反转;
- 同时满足两个xy条件,break的使用。
满分代码
N, M = map(int, input().split())
dit_x = []
dit_y = []
qurry = []
dicct = {}
for i in range(N):
temp = list(map(int, input().split()))
dit_x.append([temp[0], temp[2]])
dit_y.append([temp[1], temp[3]])
temp = map(str, temp)
dicct.setdefault("".join(temp), i + 1)
for i in range(M):
temp = list(map(int, input().split()))
qurry.append([temp[0], temp[1]])
dit_x.reverse()
dit_y.reverse()
for i in range(0, M): # 查询向量
flat = 1
for j in range(0, N):
if (qurry[i][0] >= dit_x[j][0]) & (qurry[i][0] <= dit_x[j][1]) & (qurry[i][1] >= dit_y[j][0]) & (
qurry[i][1] <= dit_y[j][1]):
flat = 0
print(dicct[str(dit_x[j][0]) + str(dit_y[j][0]) + str(dit_x[j][1]) + str(dit_y[j][1])])
temp_x = dit_x[j]
temp_y = dit_y[j]
dit_x.remove(temp_x)
dit_y.remove(temp_y)
dit_x.insert(0, temp_x)
dit_y.insert(0, temp_y)
break
if flat & (j == N - 1):
print("IGNORED")
需者自取传送门(∩ᄑ_ᄑ)⊃━☆【CCF 2013-2021】本博主整理历年至少前两题 python 满分代码目录