#P16499. [NEERC2005 FarEastern]交通事故

[NEERC2005 FarEastern]交通事故

交通事故

题目背景

两辆汽车在公路上发生了碰撞,双方车辆都受到了一定程度的损坏。事故发生后,一个熟悉的问题随之而来:究竟是谁的责任?

为了回答这个问题,需要尽可能准确地还原事故发生的全过程。通过收集目击者证词,并分析道路上的轮胎痕迹,调查人员已经确定了两辆汽车在碰撞前一刻的位置和速度。从给定位置开始直到发生碰撞,两辆汽车始终沿各自车头方向做匀速直线运动。

题目描述

每辆汽车都被划分为编号为 1144 的四个部分,编号方式如下图所示。

其中,箭头表示汽车前进的方向;frontbackleftright 分别表示车头、车尾、左侧和右侧。

对于一辆汽车:

  • (x,y)(x,y) 表示汽车左后角的坐标;
  • (u,v)(u,v) 表示汽车左前角的坐标;
  • ww 表示汽车的宽度;
  • ss 表示汽车的速度。

汽车沿着从左后角 (x,y)(x,y) 指向左前角 (u,v)(u,v) 的方向前进。下图展示了两辆汽车的位置参数、运动方向以及一次碰撞的示意图。

汽车的位置、运动方向及碰撞示意图

给定两辆汽车的初始位置、大小和速度,请分别求出每辆汽车中最先与另一辆汽车接触的部分编号

若同一辆汽车的多个部分在最早碰撞时刻同时与另一辆汽车接触,则输出其中编号最小的部分。

输入格式

输入共包含 1212 个实数:

x1 y1 u1 v1 w1 s1
x2 y2 u2 v2 w2 s2

其中,对于第 ii 辆汽车:

  • (xi,yi)(x_i,y_i) 为左后角坐标;
  • (ui,vi)(u_i,v_i) 为左前角坐标;
  • wiw_i 为汽车宽度;
  • sis_i 为汽车速度。

输入中的实数可以用整数或小数形式给出。

输出格式

输出两个整数 p1p_1p2p_2,分别表示第一辆汽车和第二辆汽车中最先与另一辆汽车接触的部分编号。

若某辆汽车有多个部分同时最先发生接触,则输出这些部分中最小的编号。

样例 1

输入

1.0 2.0 10.0 2.0 1.0 10.0
50.0 1.0 40.0 1.0 1.0 20.0

输出

2 2

样例 2

输入

1 1 10 1 1 20
40 1 50 1 1 10

输出

2 1

数据范围

对于 i{1,2}i\in\{1,2\}

1xi,yi,ui,vi,wi106,1\le x_i,y_i,u_i,v_i,w_i\le 10^6, 0si106.0\le s_i\le 10^6.

输入保证:

  • 两辆汽车最终一定会发生碰撞;
  • 初始时两辆汽车没有任何公共点。