题解 | 小红的排列构造②

小红的排列构造②

https://www.nowcoder.com/practice/a4ec29e74aaa450aa8a4200fe3b06308

#include <stdio.h>
int main(void) {
    int n;
    scanf("%d", &n);

    char ch[100005];
    scanf("%s", ch);
    
    if(ch[n-1] == '0'){
        printf("-1\n");
        return 0;
    }
    int ans[100005];
    for(int j = 0; j < n; j++)
        ans[j] = j+1;

    int temp;
    for(int i = 0; i < n; i++){
        if(ch[i] == '0'){
            temp = ans[i];
            ans[i] = ans[i+1];
            ans[i+1] = temp;
        }
    }  
    for(int k = 0; k < n; k++)
        printf("%d ", ans[k]);
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务