题解 | 小红的排列构造

小红的排列构造

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

// 活动地址: 牛客春招刷题训练营 - 编程打卡活动
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
#define int long long 

using namespace std;

int a[1010][1002];

void solve(){
    // 这题应该也认识我 好像周赛还是小白赛出过
     int n;
    string s;
    cin>>n>>s;
    // 如果最后一项是0 如果前面有1那就矛盾了 输出-1
    if(s[n-1]=='0'){
        cout<<"-1";
        return ;
    }
    vector<int>a;
    for(int i=1;i<=n;i++){
        a.emplace_back(i);
    }
    for(int i=0;i<n;i++){
        if(s[i]=='0'){
            // 出现0 说明不能构造成排列 交换
            swap(a[i],a[i+1]);
        }
    }
    for(auto x:a){
        cout<<x<<" ";
    }



}

signed main(){
    int T=1;
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
   // cin>>T;
    while(T--){
        solve();
    }
    return 0;
}
// 活动地址: 牛客春招刷题训练营 - 编程打卡活动

全部评论

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务