首页 > 试题广场 >

小欧安排座位

[编程题]小欧安排座位
  • 热度指数:207 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小欧现在有n个小朋友,同时有n个座位。小欧现在要给他们安排座位,n个小朋友中有一些希望自己是独特的,另一些小朋友则希望自己是不独特的。
当一个小朋友是独特的当且仅当小朋友自身的编号与座位的编号不相等,否则这个小朋友就是不独特的。

现在给你n个小朋友的需求,你需要给他们安排座位,满足尽可能多的小朋友的需求。

输入描述:
第一行一个整数n(1 \leq n \leq 10^5)表示小朋友的数量。
第二行输入一个长度为n只包含 0 和 1 的字符串,第i位若为 1 代表第i个小朋友希望自己是独特的,否则他希望自己是不独特的。


输出描述:
n个用空格隔开的整数,第i个表示第i个小朋友的位置。若有多种安排方案,输出任意一个即可。
示例1

输入

5
00110

输出

1 2 4 3 5

说明

这样安排满足了所有小朋友的需求
示例2

输入

2
01

输出

1 2

说明

只能满足 1 个小朋友的需求

这道题你会答吗?花几分钟告诉大家答案吧!