AT_agc043_e.[AGC043E] Topology
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个正整数 N,以及一个长度为 2N 的仅由 0 或 1 组成的数列 A0,A1,…,A2N−1。对于所有 2N 个 S⊆{0,1,…,N−1},请判断是否存在满足以下条件的闭曲线 C,若存在请构造一个。
- 令 x=∑i∈S2i。定义点集 BS={(i+0.5,0.5) ∣ i∈S}。
- 如果存在一种方法,可以将闭曲线 C 连续地移动,使其不经过 BS,并且使得闭曲线上所有点的 y 坐标都变为负数,则 Ax=1。
- 如果不存在上述方法,则 Ax=0。
关于输出方式,请阅读“输出格式”章节。
输入格式
输入通过标准输入给出,格式如下:
N A0A1⋯A2N−1
输出格式
如果不存在满足条件的闭曲线,则输出 Impossible。
如果存在,首先输出一行 Possible。然后,按照以下格式输出你构造的闭曲线:
L x0 y0 x1 y1 ⋯ xL yL
这表示选择 (x0,y0),(x1,y1),…,(xL,yL) 依次经过,作为闭折线表示闭曲线。
输出需满足以下条件:
- 0≤xi≤N,0≤yi≤1,xi,yi 为整数,0≤i≤L
- ∣xi−xi+1∣+∣yi−yi+1∣=1,0≤i≤L−1
- (x0,y0)=(xL,yL)
此外,闭曲线的长度 L 需满足 0≤L≤250000。
可以证明,如果原问题中存在满足条件的闭曲线,则在此输出格式下也一定存在。
输入输出样例
输入#1
1 10
输出#1
Possible 4 0 0 0 1 1 1 1 0 0 0
输入#2
2 1000
输出#2
Possible 6 1 0 2 0 2 1 1 1 0 1 0 0 1 0
输入#3
2 1001
输出#3
Impossible
输入#4
1 11
输出#4
Possible 0 1 1
说明/提示
补充说明
闭曲线 C 的定义如下:
- C 是从 [0,1] 到 R2 的连续函数,且 C(0)=C(1)。
将闭曲线 C 连续地移动为不经过点集 X 的另一闭曲线 D,定义如下:
- 存在满足以下条件的函数 f:[0,1]×[0,1]→R2:
- f 是连续的。
- f(0,t)=C(t)
- f(1,t)=D(t)
- f(x,t)∈/X
约束条件
- 1≤N≤8
- Ai=0 或 1,0≤i≤2N−1
- A0=1
样例解释 1
当 S=∅ 时,可以将闭曲线上的所有点的 y 坐标变为负数。 
当 S={0} 时,无论如何都无法使闭曲线上的所有点的 y 坐标变为负数。 
样例解释 2
输出表示如图所示的闭曲线。 
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?