CCF 小明種蘋果(續)

2021-10-01 11:57:33 字數 2479 閱讀 9943

​​【題目描述】

小明在他的果園裡種了一些蘋果樹,這些蘋果樹排列成乙個圓。為了保證蘋果的品

質,在種植過程中要進行疏果操作。為了更及時地完成疏果操作,小明會不時地檢查每棵樹的狀態,根據需要進行疏果。檢查時,如果發現可能有蘋果從樹上掉落,小明會重新統計樹上的蘋果個數(然後根據之前的記錄就可以判斷是否有蘋果掉落了)。在全部操作結束後,請幫助小明統計相關的資訊。

【輸入格式】

從標準輸入讀入資料。

第 1 行包含乙個正整數 n,表示蘋果樹的棵數。

第 1 + i 行(1 ≤ i ≤ n),每行的格式為 m i ,a i1 ,a i2 ,...,a i,m i 。其中,第乙個正整數 m i表示本行後面的整數個數。後續的 m i 個整數表示小明對第 i 棵蘋果樹的操作記錄。若a ij (1 ≤ j ≤ m i )為正整數,則表示小明進行了重新統計該棵樹上的蘋果個數的操作,統計的蘋果個數為 a ij ;若為零或負整數,則表示一次疏果操作,去掉的蘋果個數是 |a ij |。

輸入保證一定是正確的,滿足:

1. a i1 > 0,即對於每棵樹的記錄,第乙個操作一定是統計蘋果個數(初始狀態,此時不用判斷是否有蘋果掉落);

2. 每次疏果操作保證操作後樹上的蘋果個數仍為正。

【輸出格式】

輸出到標準輸出。

輸出只有一行,包含三個整數 t、d、e。其中,

• t 為全部疏果操作結束後所有蘋果樹上剩下的蘋果總數(假設每棵蘋果樹在最

後一次統計蘋果個數操作後蘋果不會因為疏果以外的原因減少);

• d 為發生蘋果掉落的蘋果樹的棵數;

• e 為相鄰連續三棵樹發生蘋果掉落情況的組數。

對於第三個統計量的解釋:n 棵蘋果樹 a 1 ,a 2 ,...,a n 排列成乙個圓,那麼 a 1 與a 2 相鄰,a 2 與 a 3 相鄰,......,a n−1 與 a n 相鄰,a n 與 a 1 相鄰。如果 a i−1 ,a i ,a i+1這三棵樹都發生了蘋果掉落的情況,則記為一組。形式化的,有e =???.

其中,drop(a i )表示蘋果樹 ai是否發生蘋果掉落的情況,pred(a i )表示 a i 的前一棵樹a i−1 (如果 i > 1)或者 a n (如果 i = 1),succ(a i )表示 a i 的後一棵樹 a i+1 (如果 i < n)或者 a 1 (如果 i = n)。

【樣例 1 輸入】

44 74 -7 -12 -5

5 73 -8 -6 59 -4

5 76 -5 -10 60 -2

5 80 -6 -15 59 0

【樣例 1 輸出】

222 1 0

【樣例 1 解釋】

全部操作結束後,第 1 棵樹上剩下的蘋果個數為 74 − 7 − 12 − 5 = 50,第 2 棵為59−4 = 55,第 3 棵為 60−2 = 58,第 4 棵為 59−0 = 59。因此 t = 50+55+58+59 = 222。

其中,第 3 棵樹在第 2 次統計之前剩下的蘋果個數為 76 − 5 − 10 = 61>60,因此發生了蘋果掉落的情況。可以檢驗其他的樹沒有這種情況,因此 d = 1。

沒有連續三棵樹都發生蘋果掉落的情況,因此 e = 0。

【樣例 2 輸入】

54 10 0 9 0

4 10 -2 7 0

2 10 0

4 10 -3 5 0

4 10 -1 8 0

【樣例 2 輸出】

39 4 2

【樣例 2 解釋】

第 1、2、4、5 棵樹發生了蘋果掉落的情況,因此 d = 4。其中,連續三棵樹都發

生蘋果掉落情況的有 (5,1,2) 和 (4,5,1),因此 e = 2。

【子任務】

測試點 n max

1, 2 3 2

3, 4 10 10

5, 6 10 100

7, 8 100 100

9, 10 1000 1000

• m i ≤ 1000,對所有 1 ≤ i ≤ n

• |a ij | ≤ 10 6 ,對所有 1 ≤ i ≤ n,1 ≤ j ≤ m i

【提示】

• 如果你的程式沒有實現統計 d 和 e 的功能,請按照 d = 0,e = 0 輸出結果,這樣如果 t 的統計正確能夠得到一部分分數。

• 如果你的程式沒有實現統計 e 的功能,請按照 e = 0 輸出結果,這樣如果 t 和d 的統計正確能夠得到一部分分數。

#include struct node ;

int n, m;

int main()

} else

arr[i].count += temp;}}

int n = 0, num = 0, ans = 0;

for (int k = 1; k <= n; k++)

for (int l = 1; l <= n; l++)

}printf("%d %d %d", n, num, ans);

return 0;

}

CCF 小明種蘋果(續)

def check temp flag false 設定乙個標記 如果出現掉落的情況 標記設為true drop 0 pre temp 1 for i in range 2,len temp if temp i 0 currenttotal temp i if pre drop currenttot...

CCF認證 小明種蘋果續

題目鏈結 小明種蘋果 思路 兩大坑點 一顆蘋果樹可能進行多次疏果。只要當前蘋果樹上蘋果的值大於輸入的那個正數的值,就表示發生了落果。當蘋果樹只有三棵時,且均有落果,則e為3,不是1。斯認為這個很不科學,就應該是1。不過寫1只能得90分,只好聽題主爸爸 include using namespace ...

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