AT_past202109_f.不完全順列
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N、仅由 0 和 1 组成的字符串 S,请你求出一个满足以下所有条件的长度为 N 的数列 P=(P1,P2,…,PN)。如果不存在这样的数列,请输出 -1。
- 数列 P 是 1,2,…,N 的一个排列,即 P 是 1,2,…,N 的一个重排。
- 对于所有 1≤i≤N,都满足以下条件:
- 如果 S 的第 i 个字符为
1,则 Pi=i。 - 如果 S 的第 i 个字符为
0,则 Pi=i。
- 如果 S 的第 i 个字符为
输入格式
输入从标准输入中给出,格式如下:
N S
输出格式
如果不存在满足条件的数列 P,请输出 -1。
如果存在,输出数列 P 的每一项,整数之间用空格分隔。
输入输出样例
输入#1
5 10101
输出#1
1 4 3 2 5
输入#2
4 1110
输出#2
-1
输入#3
12 001110110010
输出#3
12 6 3 4 5 1 7 8 2 9 11 10
说明/提示
注意
本题在 2021/10/02 18:00 JST 之前禁止讨论。如果有相关讨论,可能会被要求赔偿。考试结束后可以公开总分和认证等级,但请不要透露解了哪些题等信息。
约束条件
- 1≤N≤105
- S 仅由
0和1组成。
样例解释 1
S 的第 1,3,5 个字符为 1,因此 P1=1,P3=3,P5=5 必须成立。S 的第 2,4 个字符为 0,因此 P2=2,P4=4 必须成立。在本输入下,唯一满足条件的数列 P 是 (1,4,3,2,5)。
样例解释 2
如果不存在满足条件的数列 P,请输出 -1。
样例解释 3
此外,以下输出也是正确答案之一。
2 1 3 4 5 9 7 8 10 12 11 6
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?