zoukankan      html  css  js  c++  java
  • 洛谷-统计数字-NOIP2007提高组复赛

    题目描述 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

    输入样例:

    8
    2
    4
    2
    4
    5
    100
    2
    100
    输出样例:

    2 3
    4 2
    5 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 <stdio.h>
     2 #include <stdlib.h>
     3 int fun(const void *a,const void *b)//升序排序 
     4 {
     5     return *(int*)a-*(int*)b;
     6 }  
     7 int main()
     8 {
     9     int n,i,lala,j;
    10     int ans=0;
    11     int a[200000];
    12     scanf("%d",&n);
    13     for(i=0;i<n;i++)
    14     {
    15         scanf("%d",&a[i]);
    16     }
    17     qsort(a,n,sizeof(int),fun);
    18     for(i=0;i<n;i++)
    19     {
    20         if(a[i]!=-100)
    21         {
    22             lala=a[i];
    23             for(j=0;j<n;j++)
    24             {
    25                 if(a[j]==lala) 
    26                 {
    27                     ans++;
    28                     a[j]=-100;
    29                 }            
    30             }
    31             printf("%d %d",lala,ans);
    32             printf("
    ");
    33             ans=0;
    34         }        
    35     }
    36     return 0;
    37 }
  • 相关阅读:
    python中的编码问题
    CVPR2018 Tutorial 之 Visual Recognition and Beyond
    hdu 1376 Octal Fractions
    hdu 1329 Hanoi Tower Troubles Again!
    hdu 1309 Loansome Car Buyer
    hdu 1333 Smith Numbers
    hdu 1288 Hat's Tea
    hdu 1284 钱币兑换问题
    hdu 1275 两车追及或相遇问题
    hdu 1270 小希的数表
  • 原文地址:https://www.cnblogs.com/geek-007/p/5170675.html
Copyright © 2011-2022 走看看