#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; }