SP4453 BOBALLS2 - Bouncing Balls II

题目描述

有一个 $X\times Y$ 的盒子,其中有 $N$ 个小球,每时每刻,小球会向四个左上、左下、右上、右下中的一个方向运动。 同时,小球的运动,遵循着以下规律(每张图片可以以任意角度旋转): ![](https://cdn.luogu.com.cn/upload/image_hosting/zdnnfpms.png) 你的任务是确定盒子在给定时间内的状态。

输入格式

第一行两个正整数 $X,Y$,表示盒子的大小,其中两个角的坐标是 $(0,0)$ 和 $(X,Y)$。 第二行一个正整数 $N$,表示小球个数。 接下来的 $N$ 行,每行四个正整数 $x,y,vx,vy$ 分别表示每个小球的初始横纵坐标,以及运动方向。(每个小球都严格在盒子里,每个小球的 $vx,vy$ 的绝对值都等于 $1$,不会有两个小球从同一个位置出发。) 下一行一个正整数 $M$,表示请求的时间点数量。 最后一行 $M$ 个正整数,$t_1,t_2,\dots ,t_m$ 表示请求的时间点。

输出格式

输出 $M$ 个块,每个块为一次请求的结果,两个块之间以空行分隔。 对于每个块: $N$ 行,每行两个数 $x,y$,表示 $N$ 个小球的坐标,请输出排序后的结果。(排序首先按小球的横坐标,然后按纵坐标从小到大。)

说明/提示

$1 \le X,Y \le 5000$,$N \le 3001$,$1 \le M \le 20$,$t_i \le 10^{12}$。 _Translate by @[Moon_Traveller](/user/682394)。_