题意:初始把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相关推荐

  1. UVA1388 Graveyard(思维、数学推理)

    整理的算法模板合集: ACM模板 目录 如何使得所有点位置平均,并且使得原来的点移动的距离最短呢. 首先我们每个点原来有n个,那么我们设此时总长度为1,那么第一个点做原点,距原点距离为000.第二个点 ...

  2. UVAlive3708 UVA1388 POJ3154 Graveyard【水题】

    Graveyard Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1715   Accepted: 865   Specia ...

  3. POJ 3154 Graveyard【多解,数论,贪心】

    Graveyard Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1707   Accepted: 860   Specia ...

  4. NUC1840 Graveyard Design【尺取法】

    Graveyard Design 时间限制: 10000ms 内存限制: 64000KB 通过次数: 1总提交次数: 1 问题描述 King George has recently decided t ...

  5. LA 3708 - Graveyard 墓地雕塑

    点击打开链接 3708 - Graveyard Time limit: 3.000 seconds Programming contests became so popular in the year ...

  6. The Graveyard Book

    书名:The Graveyard Book 作者:Gaiman, Nei 篇幅: 140P 蓝思值:820L 用时: 7天 [透析成果] 这是我读完的第10本英文原著,一共用词典查了62个单词. 下面 ...

  7. 计算机游戏《墓园(graveyard)》,墓地模拟器游戏《守墓人》宣布将会推出手机版本...

    原标题:墓地模拟器游戏<守墓人>宣布将会推出手机版本 [多玩网6月18日讯]由tinyBuild 发行,在2018 年推出电脑版的模拟游戏<守墓人>(Graveyard Kee ...

  8. 墓地雕塑(Graveyard, NEERC 2006, LA 3708)

    墓地雕塑Graveyard NEERC 2006 LA 3708 分析1 代码1 令笔者引以为傲的分析2 代码2 墓地雕塑(Graveyard, NEERC 2006, LA 3708) 在一个周长为 ...

  9. Graveyard Design

    传送门 题面: Graveyard Design Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 9489 Accepted: ...

最新文章

  1. DIV+CSS规范命名大全集合
  2. php 文件大小函数,php计算目录文件大小的函数
  3. JavaScript中的私有成员
  4. vivado中的rtl中电路图无发生成_Vivado 综合崩溃调试指南
  5. Nginx 内置绑定变量的介绍
  6. 更改idea控制台输出字体
  7. Tomcat错误解决
  8. 浅析希区柯克的悬念电影:以《惊魂记》为例
  9. 190430每日一句
  10. 什么专业的会学python语言_为什么要学习Python编程语言?哪些人适合学习Python?...
  11. android 自定义多边形,android自定义形状的按键实例代码
  12. 一键实现证件照背景的替换,Python 制作可视化GUI界面真香啊
  13. 串口通信简介——发展历史与基本概念
  14. js 获取当天23点59分59秒 时间戳 (最简单的方法)
  15. python 密码输入显示星号_[145]python实现控制台密码星号输入
  16. 德州大学计算机系郭小虎2021,2021美国德州农工大学PhD项目
  17. 一、mybatis-generator
  18. 一个男人不顾家的表现有哪些?
  19. 数字营销(三)如何确定合适的流量渠道?
  20. php更改后缀名,修改网页后缀名

热门文章

  1. UIView上的控件使用push方法跳转
  2. char[]数组与char *指针的区别
  3. ueditor图片上传,网络连接错误的解决方案
  4. 简单的点击展开/关闭效果
  5. python培训班时间 费用-深圳python培训班大概多少费用
  6. python详细安装步骤-Python的详细安装步骤
  7. python.freelycode.com-Python中的并行处理 -- 实例编程指南
  8. 哪里可以接到python的活干-越忙越穷?赶紧把瞎忙活的事情交给Python吧!
  9. python与excel结合-使用Excel和python来做回归分析
  10. python利器手机版-将安卓手机打造成你的python全栈开发利器