UVa1388 - Graveyard
题意:初始把n个纪念碑均匀放在周长为10000的类似圆形的边界上,后来增加m个 纪念碑,问将n+m个纪念碑均匀放置,问原来的n个纪念碑总共最小移动距离
思路:如果先将n个纪念碑当作初始状态,而将n+m个纪念碑作为最终状态,因为中间其它的纪念碑的变化状态多,比较复杂。可以反过来思考,将n+m个纪念碑作为起始状态,而将n个纪念碑作为最终状态,并且假设周长为n+m,这样每个纪念碑都是在坐标为整数的位置,可以计算出n个纪念碑的位置,接着可以根据四舍五入来得到每个纪念碑的最小移动距离,累加起来就是结果。注意,假设起始状态和最终状态始终起点是一样的,即最少有一个点是不动的
代码如下:
#include <iostream>
#include <fstream>
#include <cmath>
#include <iomanip>using namespace std;const double PERIMETER = 10000;class Graveyard
{
public:double calDis(int n, int m){double dis = 0;for (int i = 1; i < n; i++){double location = (double)i / n * (n + m);dis += fabs(location - floor(location + 0.5)) / (n + m);}return dis * PERIMETER;}
};Graveyard solution;int main()
{
#ifndef ONLINE_JUDGEifstream fin("f:\\OJ\\uva_in.txt");streambuf *old = cin.rdbuf(fin.rdbuf());
#endifint n, m;while (cin >> n >> m){cout << fixed << setprecision(4) << solution.calDis(n, m) << endl;}
#ifndef ONLINE_JUDGEcin.rdbuf(old);
#endifreturn 0;
}
UVa1388 - Graveyard相关推荐
- UVA1388 Graveyard(思维、数学推理)
整理的算法模板合集: ACM模板 目录 如何使得所有点位置平均,并且使得原来的点移动的距离最短呢. 首先我们每个点原来有n个,那么我们设此时总长度为1,那么第一个点做原点,距原点距离为000.第二个点 ...
- UVAlive3708 UVA1388 POJ3154 Graveyard【水题】
Graveyard Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 1715 Accepted: 865 Specia ...
- POJ 3154 Graveyard【多解,数论,贪心】
Graveyard Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 1707 Accepted: 860 Specia ...
- NUC1840 Graveyard Design【尺取法】
Graveyard Design 时间限制: 10000ms 内存限制: 64000KB 通过次数: 1总提交次数: 1 问题描述 King George has recently decided t ...
- LA 3708 - Graveyard 墓地雕塑
点击打开链接 3708 - Graveyard Time limit: 3.000 seconds Programming contests became so popular in the year ...
- The Graveyard Book
书名:The Graveyard Book 作者:Gaiman, Nei 篇幅: 140P 蓝思值:820L 用时: 7天 [透析成果] 这是我读完的第10本英文原著,一共用词典查了62个单词. 下面 ...
- 计算机游戏《墓园(graveyard)》,墓地模拟器游戏《守墓人》宣布将会推出手机版本...
原标题:墓地模拟器游戏<守墓人>宣布将会推出手机版本 [多玩网6月18日讯]由tinyBuild 发行,在2018 年推出电脑版的模拟游戏<守墓人>(Graveyard Kee ...
- 墓地雕塑(Graveyard, NEERC 2006, LA 3708)
墓地雕塑Graveyard NEERC 2006 LA 3708 分析1 代码1 令笔者引以为傲的分析2 代码2 墓地雕塑(Graveyard, NEERC 2006, LA 3708) 在一个周长为 ...
- Graveyard Design
传送门 题面: Graveyard Design Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 9489 Accepted: ...
最新文章
- DIV+CSS规范命名大全集合
- php 文件大小函数,php计算目录文件大小的函数
- JavaScript中的私有成员
- vivado中的rtl中电路图无发生成_Vivado 综合崩溃调试指南
- Nginx 内置绑定变量的介绍
- 更改idea控制台输出字体
- Tomcat错误解决
- 浅析希区柯克的悬念电影:以《惊魂记》为例
- 190430每日一句
- 什么专业的会学python语言_为什么要学习Python编程语言?哪些人适合学习Python?...
- android 自定义多边形,android自定义形状的按键实例代码
- 一键实现证件照背景的替换,Python 制作可视化GUI界面真香啊
- 串口通信简介——发展历史与基本概念
- js 获取当天23点59分59秒 时间戳 (最简单的方法)
- python 密码输入显示星号_[145]python实现控制台密码星号输入
- 德州大学计算机系郭小虎2021,2021美国德州农工大学PhD项目
- 一、mybatis-generator
- 一个男人不顾家的表现有哪些?
- 数字营销(三)如何确定合适的流量渠道?
- php更改后缀名,修改网页后缀名
热门文章
- UIView上的控件使用push方法跳转
- char[]数组与char *指针的区别
- ueditor图片上传,网络连接错误的解决方案
- 简单的点击展开/关闭效果
- python培训班时间 费用-深圳python培训班大概多少费用
- python详细安装步骤-Python的详细安装步骤
- python.freelycode.com-Python中的并行处理 -- 实例编程指南
- 哪里可以接到python的活干-越忙越穷?赶紧把瞎忙活的事情交给Python吧!
- python与excel结合-使用Excel和python来做回归分析
- python利器手机版-将安卓手机打造成你的python全栈开发利器