题解 | 小欧安排座位

#include <iostream>
#include <vector>
using namespace std;
//整体思路就是存储所有特殊孩子,每个特殊孩子都用下一个特殊孩子的号码
int main() {
    int n;
    string ss;
    cin >> n;
    cin >> ss;
    vector<int> spec;//spec存储特殊孩子的序号
    int size = 0;//size存储特殊孩子的个数
    for(int i = 0; i < n; i++){
        if(ss[i]=='1'){
            spec.push_back(i+1);    
            size++;
        }
    }
    int count = 1;//记录是第几个特殊孩子
    for(int i = 0; i < n; i++){
        if(ss[i]=='0')//普通孩子直接输出序号
            cout << i+1 << ' ';
        else{
            if(count==size)//最后一个特殊孩子用第一个的号码
                cout << spec[0] << ' ';
            else
                cout << spec[count] << ' ';
            count++;
        }
    }
    cout << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

06-27 12:30
延安大学 C++
实习+外包,这两个公司底层融为一体了,如何评价呢?
一表renzha:之前面了一家外包的大模型,基本上都能答出来,那面试官感觉还没我懂,然后把我挂了,我都还没嫌弃他是外包,他把我挂了……
第一份工作能做外包吗?
点赞 评论 收藏
分享
在debug的柠檬精...:好消息:现在HR挑三拣四 15年后 HR跪着求要简历 坏消息:被挑的是这代人,到时候求人的也是这代人。真好。
点赞 评论 收藏
分享
我:“加班需要有加班工资。”&nbsp;hr:“为什么?”&nbsp;哈哈哈哈哈哈哈离大谱
juntenor:你确实太理想化了,对社会不了解呀。这个和HR没有关系,这是国内特色,不然怎么还会有外包就这种逆天的存在呢。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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