CCF认证2020-9 python 第二题

n,k,t,x1,yd,xr,yu=map(int,input().split())
d=[]
for i in range(n):#三维列表记录数据
    u=[]
    a=list(map(int,input().split()))
    m=[]
    for i in range(len(a)):
        m.append(a[i])
        if i%2==1:#每两个为一个坐标 断开分组
            u.append(m)
            m=[]
    d.append(u)
def f(x):#设函数判断坐标是否在感染区域
    a=x[0]
    b=x[1]
    if x1<=a<=xr and yd<=b<=yu:
        return 1
    else:
        return 0
count1=0
for i in d:
    for j in i:
        if f(j)==1:
            count1+=1
            break
        else:
            continue
def g(x):#设函数判断一个人是否逗留
    l=[]
    h=[]
    value=0
    count2=0
    for i in x:
        l.append(f(i))#利用函数改写为01数组
    for o in l:
        if o==1:
            count2+=1
            h.append(count2)
        else:
            count2=0#如果坐标不在感染区,就将计数器归零(保证连续)
            h.append(count2)
    for i in h:
        value=max(value,i)#找到最大连续数
    if value >=k:#进行比较判断是否逗留
        return 1
    else:
        return 0
ans=0
for i in d:
    if g(i)==1:
        ans+=1

print(count1)#经过的
print(ans)#逗留的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值