description某次科研調查時得到了n個自然數,每個數均不超過1500000000(1.5*10^9)。已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。
input包含多個測試資料,每個包含n+1行:
第1行是整數n,表示自然數的個數。
第2~n+1行每行乙個自然數。
1<=n<=200000,每個數均不超過1 500 000 000(1.5*109)
output對每個測試資料輸出m行(m為n個自然數中不相同數的個數),按照自然數從小到大的順序輸出。每行輸出兩個整數,分別是自然數和該數出現的次數,其間用乙個空格隔開。
相鄰兩個測試資料間用乙個空行隔開。
sample input#用到的庫copy sample input to clipboard82
4245
1002
100sample output
2 34 2
5 1100 2
map#思路
map
前乙個int代表數字,後乙個代表出現的數字,插進去的時候馬上是有序的,如果已經存在,將對應的第二個int的數量加1就行,沒有任何的查詢
#include #include using namespace std;
int main() else
mapmap1;
for(int i = 0; i < num; i++) else
} for(auto it = map1.begin(); it != map1.end(); it++)
}return 0;
}
Uva1640(統計數字出現的次數)
題意 統計兩個整數a,b之間各個數字 0 9 出現的次數,如1024和1032,他們之間的數字有1024 1025 1026 1027 1028 1029 1030 1031 1032 總共有10個0,10個1,3個3等等。解法 這類問題的一般步驟都是先用f n,d 計算出0 n中d數字出現的次數,...
A 統計數字
time limit 1 sec memory limit 128 mb submit 51 solved 28 submit status web board 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然...
中 統計數字區間1出現的次數
求出1 13的整數中1出現的次數,並算出100 1300的整數中1出現的次數?為此他特別數了一下1 13中包含1的數字有1 10 11 12 13因此共出現6次,但是對於後面問題他就沒轍了。acmer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數 從1 到 n 中1...