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***。