信息学奥赛C++语言: 直方图
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛C++语言: 直方图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
給定一個非負整數數組,統計里面每一個數的出現次數。我們只統計到數組里最大的數。
假設 Fmax(Fmax<10000)是數組里最大的數,那么我們只統計{0,1,2…Fmax}里每個數出現的次數。
【輸入】
第一行n是數組的大小。1 ≤ n ≤ 10000。
緊接著一行是數組的n個元素。
【輸出】
按順序輸出每個數的出現次數,一行一個數。如果沒有出現過,則輸出0。
對于例子中的數組,最大的數是3,因此我們只統計{0,1,2,3}的出現頻數。
【輸入樣例】
5
1 1 2 3 1
【輸出樣例】
0
3
1
1
代碼
#include<cstdio> using namespace std; int a[1001],b[1001],n,max; int main() {scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);b[a[i]]++;}for(int i=0;i<n;i++){if(a[i]>max)max=a[i];}for(int i=0;i<max;i++) printf("%d\n",b[i]);return 0; }總結
以上是生活随笔為你收集整理的信息学奥赛C++语言: 直方图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分段函数(信息学奥赛一本通-T1051)
- 下一篇: 信息学奥赛C++语言:质数