9砖盒
来源:互联网 发布:怎么样学数据库 编辑:程序博客网 时间:2024/05/21 09:10
小 Bob 喜欢玩砖盒。他把砖块一个叠一个地堆成不同高度的盒子。“看,我堆了一堵墙!”他告诉他的大姐姐Alice。“嗯,你该把所有的砖盒建得一样高。这样,你就建成了一堵真正的墙。”她回答。思索了一会,小Bob 认为她是对的。然后,他就开始重新摆放砖盒,一块接一块,最后,所有的砖盒都一样高了。但Bob 很懒,他想只移动最少数目的砖块来使所有的砖盒一样高。你能帮助他吗?
2.输入描述
输入包含多个数据集合。每个数据集合的第一行是一个整数 n,表示该Bob 建的砖盒个数。第二行则包含n 个整数,每个整数代表每个砖盒的高度hi,表示该砖盒中有hi 块砖。假定1≤n≤50,1≤hi≤100。砖块的总数目能被砖盒的数目整除。因此,一定能把各个砖盒移成相同的高度。输入以 0 结束。不要处理0。
3.输出描述
对于每个数据集,先打印出该数据集的序号,请参考输出样例。然后打印这样一行“The minimum number of moves is k.”。这里,k 指把这些砖盒移到同一高度所需的最小次数。在每个数据集后输出一个空行。
4.输入样例
6
5 2 4 1 7 5
0
5.输出样例
Set #1
The minimum number of moves is 5.
#include "stdafx.h"#include<fstream>#include<iostream>#include<vector>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ifstream in("D:\\visual studio 2013 code\\test.txt");vector<int>v;int num;int avg;int row = 0;while (in >> num){if (num == 0) break;v.clear();row ++;int temp;int sum = 0;int act = 0;for (int i = 0; i < num;i++){in >> temp;v.push_back(temp);sum += temp;}avg = sum / num;for (int j = 0; j < v.size(); j++){if (v[j]>avg) act += (v[j] - avg);}cout << "set #" << row << endl;cout << "the minimum number of moves is" << act << endl;}return 0;}
0 0
- 9砖盒
- zju1251砖盒Box of Bricks
- 9
- 9
- 9
- 9
- 9
- 9
- 9
- 9
- 9
- 9
- 9
- 9
- 9
- .9
- 9
- 9
- 8数字根
- 牛客网:剑指offer:把数组排成最小的数(java)
- CodeForces 237C Primes on Interval
- 元和分单位转换
- Unity中的SendMessage的用法
- 9砖盒
- error 1327. Invalid drive: d:\的解决办法
- HDOJ2553 N皇后问题
- idea live template简单使用
- 抽象类和接口的区别
- 【洛谷 P2169】正则表达式 tarjan+最短路
- github 入门较好的 参考资料
- 10 简化几何计算
- What is Operating System