UVa 10041 - Vito's Family
2012-07-31 09:40
302 查看
这个题在上机时敲的,乍一看好简单(其实确实也不难,就是中位数做差求和的问题),本来说要秒杀的,结果WA了好几遍,仔细分析后又是没读透题意,把当住房为偶数时的中位数的情况当成了是中间两个数之和的一半了,为此还用double型的量写的好长(白费力气了),实质上它是不允许“另外建房子的”,也就是说是在已知家庭的家庭中挑一个家庭住,偶数时只要在中间两个家庭中选一个就好(其实选哪个算出的值都一样的), 改完后AC了 ~
代码如下:
代码如下:
#include<iostream> #include<cstdlib> using namespace std; int cmp(const void *a,const void *b) { return *(int*)a-*(int*)b; } int main() { int num,cct; int a[500+10],sum,mem; cin>>num; while(num--) { cin>>cct; sum=0; for(int i=0; i<cct; i++) cin>>a[i]; qsort(a,cct,sizeof(a[0]),cmp); mem=a[(cct-1)/2]; for(int i=0;i<cct;i++) sum+=abs(a[i]-mem); cout<<sum<<endl; } return 0; }
相关文章推荐
- UVA 10041 Vito's Family 求中位数 模拟
- UVa 10041 Vito's Family (中位数&快速选择)
- uva10041-Vito‘s family(全部枚举)
- uva 10041 Vito's Family(检索)
- UVA - 10041 Vito's Family 求中位数
- uva 10041 Vito's Family_贪心
- UVa 10041 Vito's Family (median selection)
- UVa Problem Solution: 10041 - Vito's Family
- UVA 10041 Vito's Family (中位数)
- UVA - 10041 Vito's Family (中位数)
- UVa Problem 10041 Vito’s Family (Vito 家族)
- uva10041 - Vito's Family(求中位数)
- UVA - 10041 Vito's Family(贪心)
- uva - 10041 - Vito's Family(数学)
- UVA - 10041 Vito's Family
- UVA 10041 - Vito's Family
- UVa 10041 - Vito's Family
- UVa 10041 - Vito's Family
- UVa 10041 - Vito's Family
- 排序 UVA 10041 Vito's Family