Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

自带翻译的太一君,duang

Posted by 2014ccutliuzehao at 2015-03-04 23:01:46 on Problem 1477 and last updated at 2015-03-04 23:59:56
小鲍勃喜欢玩他的积木,他把一块放到另一块上面并且把它们摆成不同的高度“看,我喜欢搭墙”,他告诉他的姐姐爱丽丝,“是的,你应该把所有的积木撘成同样的高度,然后你就能有一座真的墙了”(duang,duang),她回答。在思考了一下后(你妹,这还要思考),鲍勃认为她是对的。所以他开始重新搭建,一个接一个,然后所有的积木都等高了。但是因为鲍勃很懒所以他想移动最小数量的积木完成。你能帮助他么?
输入:
输入包括几个集合。每个集合以一个数字n开始,n为鲍勃搭建的积木座数,接下来数行包括n个数字,每个代表每一座的高度hi。
(1 <= n <= 50 and 1 <= hi <= 100)积木总数需要能被座数整除,因此只要重新把积木搭成相同的高度就行了。n=0时结束,这个集合不需要被处理。
输出:
对于每一个集合,首先输出集合数,方式参照例子。然后输出一行"The minimum number of moves is k.",k是将积木撘成同一高度的最小的次数。
注意:每次计算完后空出一行。
#include<iostream>
using namespace std;
int main()
{
	int n,fun[200],t ,w=0;
	while (scanf_s("%d", &n) && n)
	{
		w++;
		int flag = 0, sum = 0;
		for (int i = 0; i < n; i++)
		{
			scanf_s("%d", &fun[i]);
			sum += fun[i];
		}
		t = sum / n;
		for (int u = 0; u < n; u++)
		{
			if (fun[u]>t)flag += (fun[u] - t);
		}
		if(w>1)printf("\n");
		printf("Set #%d\nThe minimum number of moves is %d.\n", w, flag);
	}
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator