博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hdu 1326 Box of Bricks
阅读量:4992 次
发布时间:2019-06-12

本文共 652 字,大约阅读时间需要 2 分钟。

题意:n个高矮不等的堆。每次可以从一个堆拿一块移动到另一堆。问起码移动几许次能使他们全都相等。


思路:好经典的题目,看到过不只1次了。所有数的平均数与所有的数的差的绝对值加起来除以二。

 

即 sum/n; ans += abs(sum-a[i]); ans/=2;

CODE:

 

 

#include <stdio.h>
#include <stdlib.h>
#include <
string.h>
using 
namespace std;
const 
int SIZE = 
101;
int a[SIZE];
int main()
{
    
int n;
    
int times = 
0;
    
while(scanf(
"
%d
", &n), n)
    {
        
int sum = 
0;
        
for(
int i = 
0; i < n; i++)
        {
            scanf(
"
%d
", &a[i]);
            sum += a[i];
        }
        sum /= n;
        
int ans = 
0;
        
for(
int i = 
0; i < n; i++)
        {
            ans += abs(sum-a[i]);
        }
        printf(
"
Set #%d\n
", ++times);
        printf(
"
The minimum number of moves is %d.\n\n
", ans/
2);
    }
    
return 
0;
}

 

转载于:https://www.cnblogs.com/g0feng/archive/2012/09/04/2671073.html

你可能感兴趣的文章
CommandName and CommandArgument
查看>>
[z]FNV哈希算法
查看>>
通过层序和中序遍历序列重建二叉树
查看>>
【Git】git clone与git pull区别
查看>>
【SVN】SVN的trunk、branches、tag的使用以及分支的概念
查看>>
JS闭包理解
查看>>
整数对题目
查看>>
php设计模式-观察者模式
查看>>
NFC技术:使用Android Beam技术传输文本(一)
查看>>
C++判断一个文件是否可以正确打开的代码
查看>>
unity 判断 是手机还是平板
查看>>
VisualStudio2015单步调试
查看>>
【进程资源】监视进程资源
查看>>
团队成员效绩评定
查看>>
【數據結構】哈工大實驗一:一元多项式(代碼以及報告)
查看>>
(转)spring boot注解 --@EnableAsync 异步调用
查看>>
简单理解Socket
查看>>
Hortonworks HDP Sandbox定制(配置)开机启动服务(组件)
查看>>
DHCP Option 60 认识
查看>>
浅析连续子向量,子数组和(一维,二维)问题
查看>>