問題一覧 > 通常問題

No.3336 Coincidence

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 2
作問者 : kencho / テスター : cn_449 みうね
ProblemId : 12739 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-11-08 01:59:23
コンテストの他の問題:

問題文

$xy$ 平面上に町があります。
現在、この町には建物が $4$ つだけ存在し、それらの名称と座標は以下の通りです。

  • 家 $A$ : $(a_x,\ a_y)$
  • 家 $B$ : $(b_x,\ b_y)$
  • 学校 $A$ : $(c_x,\ c_y)$
  • 学校 $B$ : $(d_x,\ d_y)$
ただし、$a_x, b_x, c_x, d_x$ は全て異なり、$a_y, b_y, c_y, d_y$ も全て異なります。

この町には学生のAliceとBobが住んでおり、Aliceは家 $A$ に住み、学校 $A$ に通っています。 Bobは家 $B$ に住み、学校 $B$ に通っています。
AliceとBobは時刻 $0$ にそれぞれ自分の住んでいる家を出発し、通っている学校に向かって移動を始めます。

二人はそれぞれ、時刻が $1$ 進むごとに $x$ 軸または $y$ 軸に平行な方向にちょうど距離 $1$ だけ移動することができますが、移動先の点に自身の住んでいる家か通っている学校以外の建物が存在する場合は移動することができません。
また、二人とも以下のルールに従って移動を行います。
  • 可能な限り早い時刻に目的地に到達できるように移動する。条件を満たす経路が複数存在する場合は、その中から $1$ つを等確率に選択する。
  • 既に目的地に到達している場合、移動しない。
  • 目的地に到達する経路が $1$ つも存在しない場合は、その場に留まり移動しない。

さて、この町の町長であり、何としても通学中にAliceとBobに出会ってもらいたいあなたは、町長の権限を使って目的を達成することにしました。
あなたは二人が出発する前に、領域 $|x|, |y| \leq 200$ に含まれる格子点であって現在建物が建っていない場所を $4000$ 箇所まで指定して建物を建てることができます。

上手く建物を建てることで、AliceとBobを通学中のある決まった時刻に格子点上で必ず出会わせる事はできるでしょうか?
言い換えるならば、以下が成り立つような建物の建て方は存在しますか?
  • ある非負整数 $t$ が存在し、時刻 $t$ においてAliceとBobが確率 $1$ で同じ格子点にいる。
存在する場合はその一例を求め、存在しない場合はその旨を報告してください。

制約

  • 入力は全て整数
  • $1 \leq T \leq 100$
  • $-100 \leq a_x, a_y, b_x, b_y, c_x, c_y, d_x, d_y \leq 100$
  • $a_x, b_x, c_x, d_x$ は全て異なる
  • $a_y, b_y, c_y, d_y$ は全て異なる

入力

入力は以下の形式で標準入力から与えられる。ここで、$case_i$ は $i$ 番目のケースを意味する。

$T$
$case_1$
$case_2$
$\vdots$
$case_T$

各テストケースは以下の形式で与えられる。

$a_x\ a_y\ b_x\ b_y\ c_x\ c_y\ d_x\ d_y$

出力

各ケースに対し、条件を満たすような建物の配置が存在しない場合は -1 を、存在する場合は以下の形式でその一例を出力してください。

$K$
$x_1\ y_1$
$x_2\ y_2$
$\vdots$
$x_K\ y_K$

$K$ は新たに建てる建物の数、$x_i, y_i$ は $i$ 番目の建物を建てる格子点の座標を表します。$K$ は $4000$ 以下の非負整数である必要があります。

各ケースに対する出力の最後に改行してください。

サンプル

サンプル1
入力
1
-2 0 0 -2 2 1 1 2
出力
1
1 1

点 $(1,\ 1)$ に新たに建物を建てると、Aliceは $(-2,\ 0) \rightarrow (-1,\ 0) \rightarrow (0,\ 0) \rightarrow (1,\ 0) \rightarrow (2,\ 0) \rightarrow (2,\ 1)$ という経路、Bobは $(0,\ -2) \rightarrow (0,\ -1) \rightarrow (0,\ 0) \rightarrow (0,\ 1) \rightarrow (0,\ 2) \rightarrow (1,\ 2)$ という経路を必ず移動します。
時刻 $2$ において必ず二人は出会うため、これは正答となります。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。