Universal Cup Judging System

Universal Cup

Time Limit: 2 s Memory Limit: 1024 MB
Statistics

本題附有附件。你可以使用它來模擬並視覺化粒子的移動。

VegiCat 在一個有 $n$ 列 $n$ 行的網格上觀察粒子。左下角格子的座標為 $(1, 1)$。水平座標由左至右遞增,垂直座標由下至上遞增。每個粒子都有一個水平方向(左或右)與一個垂直方向(上或下)。在每一步開始時,每個粒子會按以下方式調整其方向:

problem_23593_b4836be5c81ec5d9dcf55b91a721f3ad.png
  • 若其水平方向上的下一個格子在網格外部,則其水平方向反轉。
  • 若其垂直方向上的下一個格子在網格外部,則其垂直方向反轉。

完成這些調整後,位於 $(x, y)$ 的一個粒子會產生兩個子粒子:

  • 若其水平方向為左,則在 $(x - 1, y)$ 處產生一個;若為右,則在 $(x + 1, y)$ 處產生一個;
  • 若其垂直方向為下,則在 $(x, y - 1)$ 處產生一個;若為上,則在 $(x, y + 1)$ 處產生一個。

兩個子粒子都會繼承父粒子的水平與垂直方向。接著父粒子消失。

多個粒子可以同時佔據同一個格子,無論它們的方向為何。它們之間不會產生交互作用,也不會改變彼此的方向。

在時間 $0$ 時,在 $(x_0, y_0)$ 處有四個粒子,具有以下方向配對:

  • 右與上;
  • 左與上;
  • 右與下;
  • 左與下。

在每一步中,所有粒子會同時調整各自的方向,然後如上所述進行分裂。

給定 $q$ 筆詢問。每筆詢問給出整數 $A, B, C$ 以及時間 $t$。對於每筆詢問,請找出在時間 $t$ 時滿足 $Ax + By + C = 0$ 且至少包含一個粒子的網格格子 $(x, y)$ 的數量。

輸入格式

第一行包含一個整數 $T$($1 \le T \le 10^5$),代表測試資料的組數。接下來是各組測試資料的描述。

每組測試資料的第一行包含四個整數 $n, x_0, y_0, q$($2 \le n \le 10^9$,$1 \le x_0, y_0 \le n$,$1 \le q \le 10^5$)。網格有 $n$ 列 $n$ 行,初始格子為 $(x_0, y_0)$,且有 $q$ 筆詢問。

接下來的 $q$ 行中,每行包含四個整數 $A, B, C$ 與 $t$($|A|, |B|, |C| \le 10^9$,$0 \le t \le 10^9$)。這描述了在時間 $t$ 對直線 $Ax + By + C = 0$ 的一筆詢問。保證 $A$ 與 $B$ 不會同時為 $0$。

保證所有測試資料中 $q$ 的總和皆不超過 $10^5$。

輸出格式

對於每筆詢問,在一行中輸出一個整數:在時間 $t$ 時滿足 $Ax + By + C = 0$ 且至少包含一個粒子的網格格子 $(x, y)$ 的數量。

範例

範例輸入 1

1
6 5 5 4
2 -1 -5 0
1 -1 0 1
11 45 14 2
1 0 -5 3

範例輸出 1

1
0
0
3

說明

下圖展示了範例中粒子的演化過程以及所詢問的直線,其中灰色格子代表包含直線所經過整數點的格子,且所有分裂方向皆已完成合法性調整。由於第三筆詢問距離所考慮的網格太遠,此處省略了第三筆詢問的直線。

同一個格子中具有相同方向配對的粒子會繪製為單一符號;重數在此省略。

problem_23593_6aefd3f27e435f8b6b87db43b7a7aa66.png

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.