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