總結
n =
int(
input()
)res_drop =
#記錄所有樹的掉蘋果情況
count_drop =
0#記錄掉的蘋果數量
res =
0#記錄所有的蘋果數量
for i in
range
(n):
temp =
list
(map
(int
,input()
.split())
) abs_now = temp[1]
mark =
0#標記這顆樹掉了蘋果
ans =
0#記錄每一顆樹的蘋果數量
for i in
range
(temp[0]
):i +=
1if i ==1:
ans += temp[i]
if i !=
1and temp[i]
>0:
if ans == temp[i]
:continue
else
:if mark ==-1
: ans = temp[i]
continue
else
: mark =-1
ans = temp[i]1)
count_drop +=
1if temp[i]
<0:
ans += temp[i]
res += ans
if mark ==0:
0)num =
0#將第一二顆樹的情況插入最後,這樣就可以判斷所有的情況。0]
)1])
for i in
range
(n):
if res_drop[i]==1
and res_drop[i+1]
==1and res_drop[i+2]
==1: num +=
1print
(' '
.join(
[str
(res)
,str
(count_drop)
,str
(num)])
)
本題難點是判斷連續掉3顆蘋果的組數,因為題目對組的定義是將蘋果樹排成了乙個圓,於是我就將第一二個蘋果情況插入隊尾,這樣遍歷原來的列表就可以判斷所有的組。**沒有進行優化,是憑我的第一感覺寫的,所以比較冗雜。 CCF CSP 201909 2 小明種蘋果(續)
試題編號 201909 2 試題名稱 小明種蘋果 續 時間限制 1.0s 記憶體限制 1.用乙個陣列drop 1001 記錄每棵樹是否掉蘋果 2.在遍歷每顆樹時,用變數記錄當前蘋果個數,如果遍歷到正數,則比較它和變數中值的大小,如果不相等,則說明掉了蘋果,修改當前變數值,並修改陣列中的標記 3.每遍...
CCF 201909 2 小明種蘋果(續)
include define maxsize 1000 bool has maxsize has i true,第i 1棵樹上有掉落 int n 蘋果樹的棵數 int t t為全部疏果後所有蘋果總數 int d d為發生蘋果掉落的蘋果樹的棵數 int e e為相鄰連續三棵樹發生蘋果掉落情況的組數 i...
CCF CSP 201909 2 小明種蘋果 續
小明在他的果園種了一些蘋果樹,這些蘋果樹排列成乙個圓。為了保證蘋果的品質,在種植過程中要進行疏果操作。為了更及時地完成疏果操作,小明會不時地檢查每棵樹的狀態,根據需要進行疏果。檢查時,如果發現可能有蘋果從樹上掉落,小明會重新統計樹上的蘋果個數 然後根據之前的記錄就可以判斷是否有蘋果掉落了 在全部操作...