P16112 「o.OI R-1」青蛙平衡树
题目描述
小 w 有一个二维点集 $S$,初始为空。
小 c 依次往 $S$ 里面加入互不相同的 $n$ 个点 $(x_i,y_i)$。
小 c 会在每次操作后告诉小 w,当前 $S$ 是否中心对称。
现在小 w 想知道任意一个合法的操作序列,如果不存在则报告无解。
---
称一个点集 $S$ 中心对称当且仅当:
平面上存在一个点 $(a,b)$,使得对于任意 $(x,y)\in S$,满足 $(2a-x,2b-y)\in S$。
输入格式
第一行一个正整数 $n$ 表示操作次数。
第二行 $n$ 个整数 $a_i$,其中 $a_i=1$ 表示加入前 $i$ 个点后 $S$ 中心对称,否则表示不中心对称。
输出格式
如果无解,输出 `No`。
否则第一行输出 `Yes`,接下来 $n$ 行每行两个整数 $(x_i,y_i)$。
你需要保证 $|x_i|,|y_i|\le10^9$,且 $(x_i,y_i)$ 互不相同。
说明/提示
**「样例解释」**

**本题采用捆绑测试。**
对于所有测试数据,保证:$1\le n\le 10^3,a_i\in\{0,1\}$。
|子任务|$n$| 特殊性质 |分值|
|:-:|:-:|:-:|:-:|
| $0$ | $\le2$ | | $5$ |
| $1$ | | $a_x=1\Leftrightarrow x\le n$ 且 $x=2^k(k\in\N)$ | $10$ |
| $2$ | | 保证数据随机 | $10$ |
| $3$ | | | $75$ |