題目描述description
某次科研調查時得到了n個自然數,每個數均不超過1500000000(1.5*10^9)。已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。
輸入輸出格式input/output
輸入格式:
輸入檔案count.in包含n+1行;
第一行是整數n,表示自然數的個數;
第2~n+1每行乙個自然數。
輸出格式:
輸出檔案count.out包含m行(m為n個自然數中不相同數的個數),按照自然數從小到大的順序輸出。每行輸出兩個整數,分別是自然數和該數出現的次數,其間用乙個空格隔開。
輸入輸出樣例sample input/output
樣例測試點#1
輸入樣例:
824
245100
2100
輸出樣例:
2 3
4 25 1
100 2
說明description
40%的資料滿足:1<=n<=1000
80%的資料滿足:1<=n<=50000
100%的資料滿足:1<=n<=200000,每個數均不超過1500 000 000(1.5*109)
noip 2007 提高第一題
思路:首先要對輸入的資料進行公升序排序,然後從頭開始找數字出現的個數,找過的記得標記(我這裡標記為-100),然後計數器++即可
**如下:
1 #include 2 #include 3int fun(const
void *a,const
void *b)//
公升序排序 4
7int
main()
817 qsort(a,n,sizeof(int
),fun);
18for(i=0;i)
19 30}
31 printf("
%d %d
",lala,ans);
32 printf("\n"
);33 ans=0;34
} 35}
36return0;
37 }
NOIP 2007 統計數字
題目描述 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。輸入每組輸入資料報含n 1行 第一行是整數n,表示自然數的個數 第2 n 1行,每行乙個自然數...
2 2 7 統計數字 Noip2007
7 統計數字 noip2007 問題描述 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。輸入格式 輸入檔案count.in包含n 1行 第1行是整數n...
洛谷 1097 統計數字
這道題目就是一道很為簡單的模擬題。但是,我從做這道題中,發現了一種思維的轉換。對於簡單的題目,不應該想的太過於糾纏。雖然都能做對,但是map的做法最慢,hash較快,而用類似單調佇列的思想的模擬看起來見簡潔,跑得也最快 如下可以什麼都不管,將a陣列排序 從小到大 顯然是乙個單調的佇列,而我們只需要比...