AtCoder Regular Contest 045
D
みんな仲良し高橋君
AtCoder
⌀ 3039
原题
← C→
翻译中…

Problem Statement

翻译中…

二次元座標平面上に、座標の異なる $2N+1$ 個の点が与えられます。

翻译中…

高橋君はこの点の中からたくさんの仲良しペアを作ります。

翻译中…

以下の条件を満たす点同士は仲良しペアになれます。

翻译中…
  • $2$ つの点の $x$ 座標と $y$ 座標のどちらかが等しい。
翻译中…

ただしどの点も $2$ つ以上の点と仲良しペアになることはできません。

翻译中…

高橋君は、全ての点を仲良しペアにしたかったのですが、点の数が奇数なので不可能なことに気がつきました。

翻译中…

なのでどれか $1$ 個だけ点を削除し、そのあと $N$ 組の仲良しペアを作れば全ての点を仲良しペアにできると考えました。

翻译中…

すべての点について、その点を削除すると残りの $2N$ 個の点から $N$ 組の仲良しペアが作れるかどうかを判定してください。

翻译中…

Input

翻译中…

入力は以下の形式で標準入力から与えられる。

翻译中…

N
X_1 Y_1
X_2 Y_2
:
X_{2N+1} Y_{2N+1}

翻译中…
  • $1$ 行目には点の数を表す整数 $N(1 ≦ N ≦ 100,000)$ が与えられる。
  • そのあと $2N+1$ 行には、点の位置の情報が与えられる。このうち $i$ 行目には整数 $X_i(1 ≦ X_i ≦ 2N+1),\ Y_i(1 ≦ Y_i ≦ 2N+1)$ が空白区切りで与えられ、これは $i$ 番目の点の座標が $(X_i,\ Y_i)$ であることを表す。
  • $i ≠ j$ ならば、$X_i ≠ X_j$ または $Y_i ≠ Y_j$ を満たす。
翻译中…

Output

翻译中…

出力は標準出力に行い、末尾に改行を入れること。

翻译中…

出力は $2N+1$ 行からなる。

翻译中…

$i$ 行目には、$i$ 番目の点を削除したとき、残りの $2N$ 個の点から $N$ 組の仲良しペアを作れるならばOK、作れないならばNGと出力すること。

翻译中…

部分点

翻译中…

以下の制約を追加で満たすデータセットに正解した場合は $30$ 点が与えられる。

翻译中…
  • すべての $i(1 ≦ i ≦ 2N)$ について、$X_i = X_{i+1}$ または $Y_i = Y_{i+1}$ のどちらかを満たす。
翻译中…

样例

Input #1
1
1 1
1 2
2 1
Output #1
NG
OK
OK
Input #2
2
1 1
1 2
2 2
2 3
3 3
Output #2
OK
NG
OK
NG
OK
この入出力例は部分点の制約を満たします。
Input #3
2
1 1
1 2
3 3
4 4
4 5
Output #3
NG
NG
OK
NG
NG
题目信息
题号
arc045_d
时间限制
3 s
内存限制
256 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。