乙個好玩的程式設計小遊戲 最長全1區間

2021-09-25 11:26:25 字數 976 閱讀 5435

題目:

給定乙個長度為n的,僅包含0,1的數列。例如1,0,0,1,1,1,0。我們可以輕易算出,它的最長全1區間長度是3。從陣列的第4位到第6位。

現在,你獲得了k次可以將某個位置上的0變為1的機會,但可以不用完所有的機會。

請你給出,你使用了你的變化機會後,這個數列的最長全1區間最大是多少

分析:要使最大全1區間最長,一定是將某段連續區間內的0變為1。由此,可從左到右掃瞄整個陣列,記錄每個位置向右依次將0變為1後的最大全1區間長度。最後求整個陣列的最大值。

上**:

a = input().split()

b = input().split()

n, k = int(a[0]), int(b[0])

alist = [int(x) for x in b]

#n, k = 4, 1

#alist = [0, 1, 0, 1]

maxlen =

end = 0 # 指向全1區間的結尾

start = 0 # 指向全1區間的開頭

while end < n: # 結束條件:end掃到末尾

# 找到當前start對應的end的最遠位置

while k >= 0 and end < n:

if alist[end] == 1: # 如果是1,繼續走

end += 1

continue

k -= 1 # 如果是0,消耗一次0到1的變化機會

end += 1

# start向前挪動一位

if alist[start] == 0: # 如果挪動前start是0,則可節省1次01變化

k = 1

start += 1

print(max(maxlen))

乙個好玩的程式設計小遊戲 母牛生小牛

題目 母牛從3 7歲初每年會生產1頭小母牛,10歲後死亡 10歲任然存活 假設初始有一頭剛出生的母牛,請問第n年有多少頭母牛?年從第一年開始計數 注 第三年初會出生 第一頭母牛,故第三年有兩頭母牛。第五年初,第三年出生的母牛會生產,故第五年有五頭母牛。歲數是虛數 示例 輸入 輸出 2 13 2 4 ...

CRASH 乙個賭博小遊戲的編寫

初步實現了本人從面向過程到物件導向程式設計的轉變 程式功能 可以玩n回合 bout 每回合 bout 只要未分勝負就可以繼續玩下去,或中途退出。crashgame.h 乙個簡單的賭博遊戲,遊戲規則如下 玩家擲兩個骰子,點數為1到6,如果第一次點數和為7或11,則玩家勝,如果點數和為2 3或12,則玩...

自己做的乙個小遊戲(1) 吃金幣(基礎版)

include 計時器 include include 跳轉函式 void turnto int x,int y 列印 清除 void clean int x,int y 隨機數 int unknow int x,int y o i開始 int main void 計時開始 start clock ...