python实现代码
n, k, t, xl, yd, xr, yu = [int(i) for i in input("请输入n, k, t, xl, yd, xr, yu:").split()]
numpass = 0
numstay = 0
#检查坐标是否在高危地区
def InArea(x, y, xl , yd, xr, yu):
return xl <= coordinate[0] <= xr and yd <= coordinate[1] <= yu
for i in range(n):
passflag = False
stayflag = False
alist = input("请输入t个时刻坐标:").split()
alist = [int(a) for a in alist]
alist = [alist[i:i+2] for i in range(0, len(alist), 2)]
times = 0 #记录第i个人最大连续经过高危地区的次数
for coordinate in alist:
if InArea(coordinate[0], coordinate[1], xl, yd, xr, yu):
times += 1
passflag = True
else: #出现一点没在高危地区
#print("当前连续停留次数:", times)
if times >= k:
stayflag = True
times = 0 #体现了只有连续经过才行
if times >= k: #特殊情况:所有点都在高危地区
stayflag = True
if passflag:
numpass += 1
#print("numpass:", numpass)
if stayflag:
numstay += 1
#print("numstay:", numstay)
print("经过高危区的人数:", numpass)
print("在高危区逗留的人数:", numstay)