atcoder#CF16EXHIBITIONFINALI. 90 and 270

90 and 270

题目描述

以下の条件を満たす N N 角形を一つ構成してください:

  • 多角形は単純である。 (ノートを見てください)
  • 多角形の各辺は座標軸に平行である。
  • 多角形の頂点の座標は 0 0 以上 109 10^9 以下の整数である。
  • 多角形の頂点は反時計回りに 1 1 から N N まで番号がつけられている。
  • i i 番目の頂点の内角は ai a_i 度である。

解が複数通り考えられる場合は、どれを出力してもかまいません。

输入格式

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

N N a1 a_1 : aN a_N

输出格式

解が存在する場合は、以下の形式で出力せよ:

x1 x_1 y1 y_1 : xN x_N yN y_N

ここで (xi, yi) (x_i,\ y_i) i i 番目の頂点の座標である。

解が存在しない場合は、 -1 と出力せよ。

题目大意

给定 n(3n1000)n(3\le n\le1000),和数列 {αn}\{\alpha_n\}

试在平面直角坐标系上构造一个多边形,满足如下条件:

  • 任意两顶点不重合,且横纵坐标都为 01090\sim10^9 内的整数。
  • 每条边平行于 xx 轴或 yy 轴;除端点外,两两边不相交。
  • 顺时针方向上第 kk 个顶点对应的内角角度为 αk\alpha_k^\circ,其中 αk{90,270}\alpha_k\in\{90,270\}

注意,要求顶点沿顺时针顺序输出。

特别地,如果无可行解,请输出 -1

8
90
90
270
90
90
90
270
90
0 0
2 0
2 1
3 1
3 2
1 2
1 1
0 1
3
90
90
90
-1

提示

ノート

全ての辺が正の長さを持ち、どの二つの辺も (隣接する辺が頂点で接するのを除いて) 共通部分を持たないとき、多角形は単純であるという。

制約

  • 3 < = N < = 1000 3\ <\ =\ N\ <\ =\ 1000
  • ai a_i 90 90 または 270 270