Vijos P1123均分纸牌
2016-02-29 22:13
211 查看
P1123均分纸牌
Wrong Answer
标签:NOIP提高组2002[显示标签]
有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。
移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。
现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。
例如 N=4,4 堆纸牌数分别为:
① 9 ② 8 ③ 17 ④ 6
移动3次可达到目的:
从 ③ 取 4 张牌放到 ④ (9 8 13 10) -> 从 ③ 取 3 张牌放到 ②(9 11 10 10)-> 从 ② 取 1 张牌放到①(10 10 10 10)。
A1 A2 … An (N 堆纸牌,每堆纸牌初始数,l<= Ai <=10000)
样例输入1[复制]
样例输出1[复制]
每个测试点1s
NOIP2002提高组第一题
Wrong Answer
标签:NOIP提高组2002[显示标签]
描述
有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。
现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。
例如 N=4,4 堆纸牌数分别为:
① 9 ② 8 ③ 17 ④ 6
移动3次可达到目的:
从 ③ 取 4 张牌放到 ④ (9 8 13 10) -> 从 ③ 取 3 张牌放到 ②(9 11 10 10)-> 从 ② 取 1 张牌放到①(10 10 10 10)。
格式
输入格式
N(N 堆纸牌,1 <= N <= 100)A1 A2 … An (N 堆纸牌,每堆纸牌初始数,l<= Ai <=10000)
输出格式
所有堆均达到相等时的最少移动次数。
样例1
样例输入1[复制]
4 9 8 17 6
样例输出1[复制]
3
限制
每个测试点1s
来源
NOIP2002提高组第一题#include<stdio.h> int map[100000]; int main() { int n; int i,j; scanf("%d",&n); int sum=0; for(i=0;i<n;i++) { scanf("%d",&map[i]); sum+=map[i]; } int ans=0; sum=sum/n; for(i=0;i<n;i++) { if(map[i]!=sum) { map[i+1]-=sum-map[i]; ans++; } } printf("%d\n",ans); return 0; }
相关文章推荐
- 项目记录24--unity-tolua框架 View01---UIBase.lua
- Ubuntu设置ssh免密码登陆
- WEB开发者必备的7个JavaScript函数
- 快速制作网页的方法
- poj--1274--The Perfect Stall(匈牙利裸题)
- 多个无线路由器的文件及打印共享
- C++学习笔记52——继承情况下类的作用域
- 表单
- poj--1274--The Perfect Stall(匈牙利裸题)
- 大型网站的灵魂——性能
- 常用Linux命令
- C#本质论 读书 笔记(五)
- JAVA并发编程-线程间协作(Object监视器方法与Condition)
- 解决“无法完成操作,因为文件包含病毒或潜在的垃圾软件”
- 隐藏输入法
- hdu3652
- poj3159Candies——差分约束系统
- (广度优先搜索第一课)迷宫的最短路径 - BFS
- SSH进阶——Struts入门
- 深入理解Java的接口和抽象类