[问题] uva 10382 - Watering Grass

楼主: HamalAri (哈马‧阿里)   2017-04-15 09:39:05
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 都为零即代表无法完全遮住草地
作者: Clangpp (Clang++)   2017-04-15 17:33:00
你应该要去Prob_slove版喔Prob_solve

Links booklink

Contact Us: admin [ a t ] ucptt.com