【題目描述】
小明在他的果園裡種了一些蘋果樹,這些蘋果樹排列成乙個圓。為了保證蘋果的品
質,在種植過程中要進行疏果操作。為了更及時地完成疏果操作,小明會不時地檢查每棵樹的狀態,根據需要進行疏果。檢查時,如果發現可能有蘋果從樹上掉落,小明會重新統計樹上的蘋果個數(然後根據之前的記錄就可以判斷是否有蘋果掉落了)。在全部操作結束後,請幫助小明統計相關的資訊。
【輸入格式】
從標準輸入讀入資料。
第 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...