20190917百度
1.
在一档综艺节目中,有一个定点射门的游戏,在一条直线上有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)
2.
很多数列都是递推形成的,现在给出一个序列的前四项,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))