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))