#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
char str[n];
int arr[n];
for (int i = 0; i < n; i++) {
arr[i] = i + 1;
}
scanf("%s", str);
int flag = -1;//标记1的位置,遇到1就倒着输出和上个1的差值个数字
if (str[n - 1] == '0') {
printf("-1");
} else {
for (int i = 0; i < n; i++) {
if (str[i] == '1') {
int a = i - flag;
for (int j = 0; j < a; j++) {
printf("%d ", arr[i - j]);
}
flag = i;
}
}
}
return 0;
}

京公网安备 11010502036488号