在一档综艺节目中,有一个定点射门的游戏,在一条直线上有n个球门区域,这些球门的大小并不一样,用形如“a b”的方式表示,球门区域是从a坐标到b坐标的区域,另外在距离球门所在直线不远处的平行轴处,有若干个摆放好的足球,由于参加综艺的人并不是专业运动员,因此只会将该直线a坐标处的足球踢到另一条直线的a坐标处。
球门可能会有重合,对于任何一个重合的位置,你可以任选一个球门踢入。只要有一个球门内有进球,就可以加一分,这位选手最多可以得多少分。
一颗球不可以在两个球门中重复计数,门柱等问题忽略不计。
36%
n,m= map(int, input().strip().split()) shuzu=[] for i in range(n): arr=list(map(int, input().strip().split())) shuzu.append(arr) shuzu.sort() hebing=[] index=0 while index<n: st,en=shuzu[index] x=index+1 while x<n: ta,tb=shuzu[x] if ta<=en: en=tb x=x+1 else: break hebing.append([st,en]) index=x #print(hebing) ans=0 qiu=[] for i in range(m): t=int(input().strip()) qiu.append(t) qiu.sort() index=0 st,en=hebing[index] l=len(hebing) for x in qiu: while x<st: index=index+1 if index<l: st,en=hebing[index] else: break if x>=st and x<=en: ans=ans+1 #print(x,ans,index) else: while x>en and index<l: index=index+1 if index<l: st,en=hebing[index] else: break if x>=st and x<=en: ans=ans+1 print(ans)很多数列都是递推形成的,现在给出一个序列的前四项,a[1],a[2],a[3],a[4],已知递推式是a[n]=a[n-1]+a[n-3]+a[n-4]。请你求出第n项的值。
分析:
暴力,超时了好像
arr = list(map(int, input().split())) mod=10e9+7 n = arr[-1] a,b,c,d = arr[:-1] for _ in range(5, n+1): tmp = (d + a + b)%mod a,b,c = b,c,d d = tmp print(int(d % mod))