C 程式設計 入門級題解 珠心算測驗

2021-09-19 20:49:28 字數 1065 閱讀 4146

題目描述

珠心算是一種通過在腦中模擬算盤變化來完成快速運算的一種計算技術。珠心算訓練,既能夠開發智力,又能夠為日常生活帶來很多便利,因而在很多學校得到普及。

某學校的珠心算老師採用一種快速考察珠心算加法能力的測驗方法。他隨機生成乙個正整數集合,集合中的數各不相同,然後要求學生回答:其中有多少個數,恰好等於集合中另外兩個(不同的)數之和?

最近老師出了一些測驗題,請你幫忙求出答案。

輸入輸出格式

輸入格式

共兩行,第一行包含乙個整數n,表示測試題中給出的正整數個數。

第二行有n個正整數,每兩個正整數之間用乙個空格隔開,表示測試題中給出的正整數。

輸出格式

乙個整數,表示測驗題答案。

輸入輸出樣例

輸入樣例#1

41 2 3 4

輸出樣例#1

2說明

【樣例說明】

由1+2=3,1+3=4,故滿足測試要求的答案為2。

注意,加數和被加數必須是集合中的兩個不同的數。

【資料說明】

對於100%的資料,3≤n≤100,測驗題給出的正整數大小不超過10,000。

下面是**+題解:

#include#includeusing namespace std;

int t[200005],g[200005];//t是桶,t[i]表示值為i的數在集合中兩兩相加出現了幾次,g[i]表示值為i的數是否在集合中,1為在,0為不在

int n,a[105],ans;

int main()

for (int i=1;i0&&g[i]) ans++;//判斷是否滿足,滿足ans++

}cout

}

珠心算測驗 題解

見鏈結 首先,我要說一句 既然題目說要去重,那不就是用個set嗎?建立乙個查詢用的set和乙個去重的set。由於這道題n 100 n le 100 n 10 0,而stl的set插入與查詢的時間複雜度均為o log n operatorname o operatornamen o logn 所以可以...

列舉 珠心算測驗 c

題目描述珠心算是一種通過在腦中模擬算盤變化來完成快速運算的一種計算技術。珠心算訓練,既能夠開發智力,又能夠為日常生活帶來很多便利,因而在很多學校得到普及。某學校的珠心算老師採用一種快速考察珠心算加法能力的測驗方法。他隨機生成乙個正整數集合,集合中的數各不相同,然後要求學生回答 其中有多少個數,恰好等...

洛谷題解 P2141 珠心算測驗

新人第一次寫部落格,不過這個題還是挺有感觸的。這道題的思路其實還是比較容易出來了,就是先輸入基本條件,然後計算,最後判斷。但是如何把它們以正確的方式應用就需要思考思考了。這其中有乙個坑就是,這輸入的不超過100個數中,兩兩求和所得的數可能會有相等的情況,意味著判斷時會出現重複的情況,這想必也是大多數...