zoukankan      html  css  js  c++  java
  • G

    Description

    FJ is surveying his herd to find the most average cow. He wants to know how much milk this 'median' cow gives: half of the cows give as much or more than the median; half give as much or less. 

    Given an odd number of cows N (1 <= N < 10,000) and their milk output (1..1,000,000), find the median amount of milk given such that at least half the cows give the same amount of milk or more and at least half give the same or less. 
     

    Input

    * Line 1: A single integer N 

    * Lines 2..N+1: Each line contains a single integer that is the milk output of one cow. 
     

    Output

    * Line 1: A single integer that is the median milk output. 
     

    Sample Input

    5
    2
    4
    1
    3
    5
     

    Sample Output

    3

    Hint

     INPUT DETAILS: Five cows with milk outputs of 1..5 OUTPUT DETAILS: 1 and 2 are below 3; 4 and 5 are above 3. 

    题意:实质就是输入一个整数n,下面n行每行输入一个不大于n的数且不能重复,求中位数。
    分析:这个题一开始我用的是冒泡法解决的,但是冒泡法运行太慢,于是有用sort做了一遍,快了很多。
    心得:对于像这种容易做的,我们要做的是怎样做到最优化。

    AC代码:
    冒泡法:
    #include<iostream>
    #include<cstdio>
    int main()
    {
      int n,a[20000];
      while(~scanf("%d",&n)&&n)
      {
          for(int i=0;i<n;i++)
          scanf("%d",&a[i]);
          for(int i=0;i<n-1;i++)
          {
              for(int j=i+1;j<n;j++)
              {
                  if(a[i]>a[j])
                  {
                      int m;
                  m=a[i];
                  a[i]=a[j];
                  a[j]=m ;
                  }
              }
          }
          printf("%d
    ",a[n/2]);
      }
    return 0;
    }

    sort函数:
    #include<iostream>
    #include<algorithm>
    using namespace std;
     int a[1000001];
    int main()
    {
    int n;
    
    while(cin>>n)
    {
        for(int i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
        cout<<a[n/2]<<endl;
    }
    return 0;
    }

















  • 相关阅读:
    Linux sort -n 与 -g 排序对比
    shell中IF的用法介绍
    Firewalld 用法解析
    Centos7最小化安装后再安装图形界面
    PXE无人值守部署centos7.4操作系统
    kali之获取靶机的图片和看的url
    Kali的源得数字验证问题
    kali之Nmap (Network Mapper(网络映射器)
    kali之EtterCap学习
    Kali linux查看局域网内其他用户的输入信息
  • 原文地址:https://www.cnblogs.com/lbyj/p/5680614.html
Copyright © 2011-2022 走看看