CCF CSP 201909 2 小明種蘋果 續

2022-06-05 23:45:14 字數 2249 閱讀 5550

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

從標準輸入讀入資料。

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

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

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

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

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

輸出到標準輸出。

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

對於第三個統計量的解釋:n棵蘋果樹\(a_1,a_2,...a_n\)排列成乙個圓,那麼\(a_1\)與\(a_2\)相鄰,\(a_2\)與\(a_3\)相鄰,...... ,\(a_\)與\(a_n\)相鄰,\(a_\)與\(a_1\)相鄰。如果\(a_,a_i,a_\)這三棵樹都發生了蘋果掉落的情況,則記為一組。形式化的,有

\[e=\mid\left\ \mid \text \left(\operatorname\left(a_\right)\right) \wedge \operatorname\left(a_\right) \wedge \operatorname\left(\operatorname\left(a_\right)\right)\right\} \mid

\]其中, \(\operatorname\left(a_\right)\) 表示蘋果樹 \(a_\) 是否發生蘋果掉落的情況, \(\operatorname\left(a_\right)\) 表示 \(a_\) 的前一棵樹 \(a_(\) 如果 \(i>1)\) 或者 \(a_\left(\right.\) 如果 \(i=1\) ) \(, \operatorname\left(a_\right)\) 表示 \(a_\) 的向一棵樹 \(a_(\) 如果 \(i或者 \(a_\) (如果 \(i=n\) )。

4

4 74 -7 -12 -5

5 73 -8 -6 59 -4

5 76 -5 -10 60 -2

5 80 -6 -15 59 0

222 1 0
全部操作結束後,第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。

5

4 10 0 9 0

4 10 -2 7 0

2 10 0

4 10 -3 5 0

4 10 -1 8 0

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

//定義蘋果數結構體

;int main()

//判斷是否重新統計,若是則在nums後插入重新統計的資料

}//處理疏果情況,更新疏果後的蘋果數

else

}//記錄發生蘋果意外掉落的樹的棵樹

errornum++;

//所有蘋果樹疏果後的蘋果總數

}//處理連續三個樹發生蘋果掉落的情況

for (int i = 0; i < n; i++)}}

return 0;

}

CCF CSP 201909 2 小明種蘋果(續)

試題編號 201909 2 試題名稱 小明種蘋果 續 時間限制 1.0s 記憶體限制 1.用乙個陣列drop 1001 記錄每棵樹是否掉蘋果 2.在遍歷每顆樹時,用變數記錄當前蘋果個數,如果遍歷到正數,則比較它和變數中值的大小,如果不相等,則說明掉了蘋果,修改當前變數值,並修改陣列中的標記 3.每遍...

201909 2 小明種蘋果(續)Python

總結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 標記這顆樹掉了蘋...

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