淡黃的長裙

2021-10-05 03:43:12 字數 2480 閱讀 7967

t =

int(

input()

)def

cut(a1x)

: lis =

for i in

range

(len

(a1x)):

a =''if i +

3<=

len(a1x)-1

:#盡可能的切出字串alx中連續4位

a = a + a1x[i]

+ a1x[i +1]

+ a1x[i +2]

+ a1x[i +3]

if a !='':

return lis

for i in

range

(t):

a, b =

input()

.split(

',')

li = cut(a)

#得到 a的每4位組成的的列表

if li!=

: m =

abs(

int(li[0]

)-int(b)

) r=

0for i in li:

ifabs

(int

(b)-

int(i)

)< m:

#在列表中得到最小的差 m

m =abs(

int(b)

-int

(i))

for i in li:

ifabs

(int

(b)-

int(i)

)== m:

r = li.index(i)

# r在列表中對應的序號 而且能保證是列表當中第乙個出現的

break

iflen

(a)>=3:

#a只有三位時,在前三位中選出差距最小的,並記 de表示以後要扔前幾個數

one =

abs(

int(a[0]

)-int(b)

) two =

abs(

int(a[0]

+ a[1]

)-int(b)

) three =

abs(

int(a[0]

+ a[1]

+ a[2]

)-int(b)

) wa =

[int

(b), one, two, three]

mi =

min(wa)

ifint

(b)== mi:

de =

0elif one == mi:

de =

1elif two == mi:

de =

2elif three == mi:

de =

3elif

len(a)==2

:#a只有二位時

one =

abs(

int(a[0]

)-int(b)

) two =

abs(

int(a[0]

+ a[1]

)-int(b)

) wa =

[int

(b), one, two]

mi =

min(wa)

ifint

(b)== mi:

de =

0elif one == mi:

de =

1elif two == mi:

de =

2elif

len(a)==1

:#a只有一位時

one =

abs(

int(a[0]

)-int(b)

) wa =

[int

(b), one]

mi =

min(wa)

ifint

(b)== mi:

de =

0elif one == mi:

de =

1elif

len(a)==0

:#a不存在時

wa =

[int

(b)]

mi =

min(wa)

de =

0if li !=

:if m >= mi:

k =len(a)

- de

else

: k =

len(a)

-(r +4)

else

:#a都沒有四位

k =len(a)

- de

print

(k)

錯了的地方在m的起始值賦為了int(a)

若1000,9568

比它小後續無法更新 r

D 淡黃的長裙

貪心題 題面的意思就是 ai bi 舉個例子吧 比如a1 b1 a2 b2 處罰時間就是 ti bi ti是ai的和 我們要使得 處罰時間的最大值最小 繼續舉例 吧 b1 如下 include include include include include define ll long long d...

淡黃的長裙,蓬鬆的頭髮?拿什麼拯救你,我的專案

說完這個梗之後 我們今天還是要接著聊一下如何進行高效的專案管理。這幾天一直有朋友在後台問我 怎麼專案做的好好的突然就延期了,專案驗收時,又因專案質量不符導致專案無法正常驗收!那麼如何才能提高專案管理的效率,實現高質量專案交付,我們必須要明白這四點。一 立項前,想清楚到底要做什麼 cornerston...

container of 的的的原理

另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...