AT_agc043_e [AGC043E] Topology

题目描述

给定一个正整数 $N$,以及一个长度为 $2^N$ 的仅由 $0$ 或 $1$ 组成的数列 $A_0,A_1,\ldots,A_{2^N-1}$。对于所有 $2^N$ 个 $S \subseteq \{0,1,\ldots,N-1\}$,请判断是否存在满足以下条件的闭曲线 $C$,若存在请构造一个。 - 令 $x = \sum_{i \in S} 2^i$。定义点集 $B_S = \{(i+0.5,0.5)\ |\ i \in S\}$。 - 如果存在一种方法,可以将闭曲线 $C$ 连续地移动,使其不经过 $B_S$,并且使得闭曲线上所有点的 $y$ 坐标都变为负数,则 $A_x = 1$。 - 如果不存在上述方法,则 $A_x = 0$。 关于输出方式,请阅读“输出格式”章节。

输入格式

输入通过标准输入给出,格式如下: > $N$ $A_0A_1\cdots A_{2^N-1}$

输出格式

如果不存在满足条件的闭曲线,则输出 `Impossible`。 如果存在,首先输出一行 `Possible`。然后,按照以下格式输出你构造的闭曲线: > $L$ $x_0$ $y_0$ $x_1$ $y_1$ $\cdots$ $x_L$ $y_L$ 这表示选择 $(x_0,y_0),(x_1,y_1),\ldots,(x_L,y_L)$ 依次经过,作为闭折线表示闭曲线。 输出需满足以下条件: - $0 \leq x_i \leq N$,$0 \leq y_i \leq 1$,$x_i, y_i$ 为整数,$0 \leq i \leq L$ - $|x_i-x_{i+1}| + |y_i-y_{i+1}| = 1$,$0 \leq i \leq L-1$ - $(x_0,y_0) = (x_L,y_L)$ 此外,闭曲线的长度 $L$ 需满足 $0 \leq L \leq 250000$。 可以证明,如果原问题中存在满足条件的闭曲线,则在此输出格式下也一定存在。

说明/提示

### 补充说明 闭曲线 $C$ 的定义如下: - $C$ 是从 $[0,1]$ 到 $\mathbb{R}^2$ 的连续函数,且 $C(0) = C(1)$。 将闭曲线 $C$ 连续地移动为不经过点集 $X$ 的另一闭曲线 $D$,定义如下: - 存在满足以下条件的函数 $f : [0,1] \times [0,1] \rightarrow \mathbb{R}^2$: - $f$ 是连续的。 - $f(0,t) = C(t)$ - $f(1,t) = D(t)$ - $f(x,t) \notin X$ ### 约束条件 - $1 \leq N \leq 8$ - $A_i = 0$ 或 $1$,$0 \leq i \leq 2^N-1$ - $A_0 = 1$ ### 样例解释 1 当 $S = \emptyset$ 时,可以将闭曲线上的所有点的 $y$ 坐标变为负数。 ![](https://img.atcoder.jp/agc043/d44ca639698b4c14bb84b90da5442ca6.png) 当 $S = \{0\}$ 时,无论如何都无法使闭曲线上的所有点的 $y$ 坐标变为负数。 ![](https://img.atcoder.jp/agc043/5a960a0c4167e8593b6c8f8af685253d.png) ### 样例解释 2 输出表示如图所示的闭曲线。 ![](https://img.atcoder.jp/agc043/283e490d520a451f1b15160900c9b545.png) 由 ChatGPT 4.1 翻译