QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100

#3625. 快速台球

Statistics

一个正方形的台球桌位于坐标平面上,其四个顶点坐标分别为 $(L, L), (L, -L), (-L, L)$ 和 $(-L, -L)$。目前,一颗台球静止在桌面上 $(x_1, y_1)$ 处,而一个球洞位于 $(x_2, y_2)$ 处。已知球和球洞都不在桌子的边缘上,且它们的位置不同。

当我们击球时,球会沿直线运动。如果球碰到桌边,它会以入射角等于反射角的方式反弹,并继续沿直线运动。球只有在到达四个顶点之一或进入球洞时才会停止。

Malnar 先生曾用力击球,使得除了他之外没有人能看清球的轨迹。唯一已知的是球最终落入了球洞,且幸存的目击者声称,通过球高速撞击产生的声频,他们可以断定球在运动过程中从桌边反弹了最多 $n$ 次。

图片展示了第一个样例中 $k=1$ 时所有可能的轨迹。

分析人员想知道球可能以哪些方式运动。请针对每个整数 $0 \le k \le n$,计算球在落入球洞前恰好从桌边反弹 $k$ 次的不同轨迹数量。可以证明,所有答案均为有限值,且均在 32 位整数范围内。

输入格式

第一行包含两个整数 $L$ ($2 \le L \le 1\,000\,000$) 和 $n$ ($1 \le n \le 500$)。

第二行包含四个整数 $x_1, y_1, x_2, y_2$ ($-L < x_1, y_1, x_2, y_2 < L$)。保证 $(x_1, y_1) \neq (x_2, y_2)$。

输出格式

输出 $n+1$ 个由空格分隔的整数,分别对应 $k=0$ 到 $k=n$ 时,球恰好反弹 $k$ 次的不同轨迹数量。

样例

样例 1

输入

2 1
-1 1 -1 -1

输出

1 3

样例 2

输入

4 3
0 0 1 1

输出

1 4 6 12

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.