格仔遊戲題目描述
有n個格仔,從左到右放成一排,編號為1-n。
共有m次操作,有3種操作型別:
1.修改乙個格仔的權值,
2.求連續一段格仔權值和,
3.求連續一段格仔的最大值。
對於每個2、3操作輸出你所求出的結果。
輸入輸入第一行兩個整數,n表示格仔個數,m表示操作次數,n和m中間用空格隔開;
接下來輸入n行,每行乙個整數表示乙個格仔的權值
接下來輸入m行,每行有三個整數,中間用空格隔開;第乙個是選擇的操作型別1-3,第二和第三個整數是操作格仔的編號。
樣例輸入
3 3789
2 1 3
3 1 3
2 1 2
輸出若執行1操作則無輸出
若執行2和3操作則輸出乙個整數
樣例輸出249
15這道題難度不大,我用python3來實現,提供給大家參考:
1#coding:utf8
2 nm = input( ).split("")
3#n個格仔 m個操作次數
4 n =int( nm[0] )
5 m = int( nm[1] )67
#輸入n個格仔的權值
8 boxes =
9for i in
range(n):
1011
#接下來進行m次操作
12for i in
range(m):13#
記錄操作編號
14 operation = [ int(i) for i in input().strip("
").split("
") ]15#
修改權值 輸入1
16if operation[0] == 1:
17 boxes[operation[1] -1 ] = operation[2]
18else
:19 start = operation[1] -1
20 end = operation[2]21#
求一段之間權值的和 輸入2
22if operation[0] == 2:
23print
( sum( boxes[ start : end ] ) )24#
求一段之間最大權值 輸入3
25elif operation[0] == 3:
26print
( max( boxes[ start : end ] ) )
27else:28
pass
翻轉陣列,來自賽碼網,初級演算法
翻轉陣列 題目描述 給定乙個長度為n的整數陣列a,元素均不相同,問陣列是否存在這樣乙個片段,只將該片段翻轉就可以使整個陣列公升序排列。其中陣列片段 l,r 表示序列a l a l 1 a r 原始陣列為 a 1 a 2 a l 2 a l 1 a l a l 1 a r 1 a r a r 1 a ...
賽碼網 分蘋果問題
分蘋果 題目描述 果園裡有堆蘋果,n 1 n 9 只熊來分。第一隻熊把這堆蘋果平均分為n份,多了乙個,它把多的乙個扔了,拿走了乙份。第二隻熊把剩下的蘋果又平均分成n份,又多了乙個,它同樣把多的乙個扔了,拿走了乙份,第 三 第四直到第n隻熊都是這麼做的,問果園裡原來最少有多少個蘋果?輸入 輸入1個整數...
翻格仔遊戲
前幾天,朋友玩乙個解謎類的遊戲。中間有乙個關卡,大概是這樣的 有乙個5 5的板子,初始時,每個格仔都是背面朝上。我們可以手動翻轉任意乙個格仔,但其上下左右 如果有的話 的格仔也會隨之一起翻轉,問怎麼翻,可以將所有格仔都翻到正面朝上。當時蠻無聊,那就寫段 試試看吧。這裡,手動翻我們定義為主動,而被動當...