P6452 [COCI 2008/2009 #4] TREZOR

题目描述

在平面直角坐标系中,有一个以 $(1,-A)$ 和 $(L,B)$ 为对角线上的两个端点的矩形。这个矩形内有 $L\times (A+1+B)$ 个点。 现在有两名警卫分别在 $(0,-A)$ 和 $(0,B)$ 两个点。他们都看向这个矩形。如果他的视线(为一条射线)与矩形内的一个点之间有其他点阻隔,那么他就看不到这个点。 对于每一个点: - 如果它能被两个警卫都看到,那么就认为它是非常安全的; - 如果只能被其中一个警卫都看到,那么就认为它是安全的; - 如果两个警卫都看不到它,那么就认为它是危险的。 给定 $A,B,L$,你需要找出非常安全的点、安全的点和危险的点分别的数量。

输入格式

输入第一行为两个整数 $A,B$。 第二行为一个整数 $L$。

输出格式

输出共 $3$ 行。每行一个整数,依次为危险、安全、非常安全的点的数量。

说明/提示

#### 数据规模与约定 - 对于 $50\%$ 的数据,$L\le 1000$; - 对于另 $25\%$ 的数据,$A,B\le 100$; - 对于 $100\%$ 的数据,$1\le A,B\le 2000$,$1\le L\le 10^9$。 #### 说明 **题目译自 [COCI2008-2009](https://hsin.hr/coci/archive/2008_2009/) [CONTEST #4](https://hsin.hr/coci/archive/2008_2009/contest4_tasks.pdf) *T5 TREZOR***。