UVA149 Forests
题目描述
# UVA149 森林
俗话说“你看不见树”,这不仅是陈词滥调,而且是不正确的。真正的问题是,你不能看到树木的木材。如果你站在一个“木头”的中间(在NZ的表达方式中,意思是灌木的补丁),树木往往互相遮蔽,你可以看到的不同树木的数量是相当小的。这是特别真实的,如果树木种植在行和列(如在松树种植园),因为他们倾向于排队。这个问题的目的是要找到多少不同的树木,你可以看到从任意点在松树种植园(假设永远伸展)。只有当树干的一部分没有被一棵更近的树遮挡时,你才能看到一棵截然不同的树,也就是说,如果树干的两边都能看到,而且树干和离你更近的所有树的树干之间存在明显的缝隙。而且,如果它看起来“太小”,你就看不见树。为了明确起见,“不要太小”和“可辨别的间隙”将意味着,在你眼睛上的角度大于0.01度(假设你用一只眼睛观察)。因此,两棵树标记为O,至少是从给定的视点标记的树。编写一个程序,确定在这些假设下,给定树木的直径和观察位置的坐标,可见的树的数量。因为网格是无限的,所以原点不重要,坐标是0到1之间的数字。
输入格式
输入将由两条线组成,每一条线都有三个数“0 .NN”。第一个数字是树干直径——所有的树都被假定为这个直径的圆柱体,它们的中心精确地放置在一个矩形网格的点上,并且间隔为一个单元。接下来的两个数字将是观察者的X和Y坐标。为了避免潜在的问题,比如太靠近一棵树,我们将保证直径≤x,y≤1_直径。为了避免树木太小的问题,你可以假设直径超过0.1。该文件将由一个由三个零组成的行终止。
输出格式
输出将由一系列的线组成,每个输入线都有一条线。每条线将包括给定大小的树的数量,从给定位置可见。