POJ2388简单排序
来源:互联网 发布:网络女主播卸妆前后 编辑:程序博客网 时间:2024/05/19 22:26
Who's in the Middle
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 41955 Accepted: 24264
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.
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.
* 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
524135
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.
Five cows with milk outputs of 1..5
OUTPUT DETAILS:
1 and 2 are below 3; 4 and 5 are above 3.
Source
USACO 2004 November
这个题目是个排序的水题,因为题目给的数据全是整数,所以直接用库函数里的快排排个序就能解了。不过有一点要注意,n为偶数的时候,输出的数是中间两个的平均数。下面是我的代码
#include <stdio.h>#include <stdlib.h>#define MAXN 10005int arr[MAXN];int cmp(const void*a,const void*b){ return *(int *)a-*(int *)b;}int main(){ int n; while(~scanf("%d",&n)) { for(int i=0; i<n; i++) scanf("%d",&arr[i]); qsort(arr,n,sizeof(int),cmp); if(n%2) printf("%d\n",arr[n/2]); else printf("%.1lf\n",(arr[n/2-1]+arr[n/2])/2.0); } return 0;}一次AC,不过我在写博客的时候又发现了一个问题。如果n为偶数时,中间两个数都是奇数或者都是偶数的时候应该输出的是整数,而不像我写的那样,是出的是一位小数,那么又要加个判断语句,判断是否为整数。可能是题目的数据问题吧,还是我理解错了,不过能AC就对了。
0 0
- POJ2388简单排序
- poj2388 简单排序——归并排序
- poj2388 排序
- poj2388排序
- poj2388 水题 各种排序
- poj2388(堆排序)
- poj2388排序中位数
- POJ2388-排序水题
- poj2388快速排序
- poj2388 快速排序 模板题
- poj2388解题报告(排序)
- poj2388
- POJ2388
- poj2388
- poj2388
- poj2388
- poj2388
- poj2388
- 关于open()返回值及打印输出的问题
- linux gdb
- 【LeetCode】24. Swap Nodes in Pairs
- 动态规划―鸣人的影分身
- JStorm Storm 上手demo
- POJ2388简单排序
- 平面中能否写下不可数个8?——一个有趣的数学问题
- 设计模式学习笔记之单例模式
- 青春正当时
- 判断二叉树是否是平衡树
- Python中用format函数格式化字符串的用法
- &运算(关于box2d的碰撞过滤)
- Vue.js 第一发【 todo list (IMWeb训练营作业)】
- 第一帖:发现一个很洋气的机器人,一个图灵机器人的小小应用