作者HamalAri (哈马‧阿里)
看板C_and_CPP
标题[问题] uva 10382
时间Sat Apr 15 09:39:05 2017
uva 10382 - Watering Grass
问题(Question):
一直 Wrong Answer ,不知道错在哪
题目和 udebug 的测资都有过
程式码(Code):(请善用置底文网页, 记得排版)
https://paste.ofcode.org/Gb7qp84QkYbRMuFz82Qi2e
补充说明(Supplement):
目前做过的努力:
检查了 长宽为零的情况、重覆的圆
double 精度 ( uDebug 测资有 1 10000001 1
10000000 10000000)
做法/解释:
1. 读入测资,边读边把圆形换算成长方形的边长一半
(即中心点向左或向右可以遮住多长的长度) 存入 extlen
p.s 处理毕式定理时怕精度不够所以 w2 (宽度平方)
先平方再除 4.0
2. l 为草地长度,每次都从最右边开始遮掉,每遮掉一次
就缩小草地的长度,即 l 一直变小,直到小於 0
3. 计算每个圆 (如果可以盖注草地最右边的边缘的话) 可
以遮掉多少面积 (长度) ,并把这个资讯存入 ecr
(Effective coverage of right end) 每次都选 ecr
值最大的的圆来遮。
4. 若 l<=0 即达成全部遮住的目标;
若 l>0 且 ecr 都为零即代表无法完全遮住草地
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.64.158
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1492220348.A.434.html
1F:推 Clangpp: 你应该要去Prob_slove版喔 04/15 17:33
2F:→ Clangpp: Prob_solve 04/15 17:33