题目链接:http://codeforces.com/contest/404/problem/B?csrf_token=6292hf3e1h4g5e0d16a996ge6bgcg7g2

解题报告:一个正方形的跑道,边长是a,然后教练给运动员一个规定,每跑d米就额外补充一次饮料,然后输入一个n,表示一共将补充n次,比赛的出发点是(0,0),

也就是左下角的那个点,然后让你求出每次补充饮料的坐标。

本来看起来应该挺简单的一个模拟题,结果没想到一波三折,哎,技术问题啊。首先要注意的就是它规定的是精确到小数点后的四位,所以我在处理的时候,先把输入

全部乘以10000然后转化成整数来处理,这样就可以把小数点后四位以下都忽略掉,然后在输出的时候再转化一下就可以了,这样的想法是对的,但是我首先就犯了一个错误就是这题本来规定的数据范围是10^5,但是我做了乘10000处理,所以数据范围就到了10^9级别,所以int显然是不够的,一开始是这样错的,然后发现了又改过来了,

但是没想到改过来了还是错的,没办法,只好去看测试数据了,结果发现我的第7组测试数据的第6个数比正确的结果大了1,然后果断把那组数据在我本地测试了一下,

结果很纠结,97591.0354  一转化,就像见鬼了一样,转化整数后就成了975910353,怪不得会有个1的差距了,然后我左改又改,就像见鬼了一样,就是有个1的损失,

这时候我才意识到精度损失了,可是怎么解决呢,想起来以前用过一种+0.000001来防止精度损失的办法,果然改过之后就AC 了,哎,虽然这题没A ,但通过这次的教训,我希望可以记住下次碰到这种精度要求较高的题时切记要注意精度的问题了。哦,对了,还有一个,CF规定一定要用__int64,不能出现long long 以及类似的类型。

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef __int64 INT; int main()
{
double c,e;
INT n;
while(scanf("%lf%lf",&c,&e)!=EOF)
{
scanf("%I64d",&n);
c *= 10000.0;
e *= 10000.0;
c += 0.000001;
e += 0.000001;
INT a = (INT)c;
INT d = (INT)e;
for(int i = ;i <= n;++i)
{
INT race = i * d;
race %= (*a);
double x,y;
if(race >= && race <= a)
{
x = (double)race / 10000.0;
y = ;
}
else if(race > a && race <= *a)
{
race -= a;
x = (double)a / 10000.0;
y = (double)race / 10000.0;
}
else if(race > *a && race <= *a)
{
race -= (*a);
race = a - race;
x = (double)race / 10000.0;
y = (double)a / 10000.0;
}
else if(race > *a && race <*a)
{
race -= (*a);
race = a - race;
x = ;
y = (double)race / 10000.0;
}
printf("%.10lf %.10lf\n",x,y);
} }
return ;
}

Codeforces 237 div2 B. Marathon(关于精度损失的教训)的更多相关文章

  1. 玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)

    前文 的最后给出了玉伯的一道课后题,今天我们来讲讲这题的思路. 题目是这样的: Number.MAX_VALUE + 1 == Number.MAX_VALUE; Number.MAX_VALUE + ...

  2. Java中关于 BigDecimal 的一个导致double精度损失的"bug"

    背景 在博客 恶心的0.5四舍五入问题 一文中看到一个关于 0.5 不能正确的四舍五入的问题.主要说的是 double 转换到 BigDecimal 后,进行四舍五入得不到正确的结果: public ...

  3. java操作Excel处理数字类型的精度损失问题验证

    java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版 ...

  4. Codeforces #180 div2 C Parity Game

    // Codeforces #180 div2 C Parity Game // // 这个问题的意思被摄物体没有解释 // // 这个主题是如此的狠一点(对我来说,),不多说了这 // // 解决问 ...

  5. (Jquery)避免数据相加小数点后产生多位数和计算精度损失

    /** * 加法运算,避免数据相加小数点后产生多位数和计算精度损失. * * @param num1加数1 | num2加数2 */ function numAdd(num1, num2) { var ...

  6. JAVA浮点数计算精度损失底层原理与解决方案

    浮点数会有精度损失这个在上大学的时候就已经被告知,但是至今完全没有想明白其中的原由,老师讲的时候也是一笔带过的,自己也没有好好琢磨.终于在工作的时候碰到了,于是google了一番. 问题: 对两个do ...

  7. Codeforces #541 (Div2) - E. String Multiplication(动态规划)

    Problem   Codeforces #541 (Div2) - E. String Multiplication Time Limit: 2000 mSec Problem Descriptio ...

  8. Codeforces #541 (Div2) - F. Asya And Kittens(并查集+链表)

    Problem   Codeforces #541 (Div2) - F. Asya And Kittens Time Limit: 2000 mSec Problem Description Inp ...

  9. Codeforces #541 (Div2) - D. Gourmet choice(拓扑排序+并查集)

    Problem   Codeforces #541 (Div2) - D. Gourmet choice Time Limit: 2000 mSec Problem Description Input ...

随机推荐

  1. [转载]JAVA内存分析——栈、堆、方法区 程序执行变化过程

    面向对象的内存分析 参考:http://www.sxt.cn/Java_jQuery_in_action/object-oriented.html :尚学堂JAVA300集-064内存分析详解_栈_堆 ...

  2. springmvc 事务回滚说明

    Spring中的@Transactional(rollbackFor = Exception.class)属性详解 序言 今天我在写代码的时候,看到了.一个注解@Transactional(rollb ...

  3. 作业 20181204-5 Final阶段贡献分配规则及实施

    此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2479] 小组介绍 组长:付佳 组员:张俊余 李文涛 孙赛佳 田良 于洋 ...

  4. BugPhobia准备篇章:Scrum Meeting工作分析篇

    特别说明:此博客不计入正式开发过程的Scrum Meeting篇章,只是工作的基础分析 前端 王鹿鸣.钱林琛撰写初稿 能否前端完成一个页面后就能在本地跑起来进行测试? 能否在前端和后端完成对接后单页面 ...

  5. 【Alpha】第六次Scrum meeting

    今日任务一览: 姓名 今日完成任务 所耗时间 刘乾 今日完成了python的一个template引擎airspeed的使用,并使用该引擎成功跑出一份latex模板替换文件. Issue链接:https ...

  6. BlogPublishTool - 博客发布工具

    BlogPublishTool - 博客发布工具 这是一个发布博客的工具.本博客使用本工具发布. 本工具源码已上传至github:https://github.com/ChildishChange/B ...

  7. 《Linux内核分析》 第六节 进程的描述和进程的创建

    <Linux内核分析> 第六节 进程的描述和进程的创建 20135307 张嘉琪 原创作品转载请注明出处 +<Linux内核分析>MOOC课程http://mooc.study ...

  8. 团队作业(五)-笔记app top5

    在互联网快速发展的情况下,各个行业的软件层出不穷,五花八门.各个行业都有相当多的软件介入其中,在如此多的软件之中,便有了相当激烈的竞争角逐.今天我们十五万的总冠军就着笔记APP行业中位列top 5的软 ...

  9. final发布48小时用户调查报告

    小组名称:飞天小女警 项目名称:礼物挑选小工具 小组成员:沈柏杉(组长).程媛媛.杨钰宁.谭力铭 调查问卷标题:用户调查报告 调查目的:在final版本发布后的用户调查报告 调查问卷的数量:11 问卷 ...

  10. idea 导入项目后不能执行main方法

    点击右键,出来不能run/debug 项目分为多个mouel模块,很多模块进来后在idea中丢失了(暂时不知道原因) 我们需要做的就是把丢失的模块加进来 ctrl+alt+shift+s 快捷键  或 ...