题解 | 小红的排列构造②
小红的排列构造②
https://www.nowcoder.com/practice/a4ec29e74aaa450aa8a4200fe3b06308?tpId=385&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL INF=-1e18;
int n;
vector<int> a;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>n;
string s;
cin>>s;
if(s[n-1]=='0'){//不成立
cout<<-1;
return 0;
}
for(int i=1;i<=n;i++){
a.push_back(i);
}
for(int i=0;i<n;i++){
if(s[i]=='0')swap(a[i],a[i+1]);//交换
}
for(auto i:a){
cout<<i<<' ';
}
return 0;
}
查看11道真题和解析