20190917百度

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章