赛码网大家用过吗

完美世界2018校招编程练习,多线程协作打印。


#include<bits/stdc++.h>
using namespace std;
mutex mtx;
intactive =0;
intn;
voidprint(intthread_idx,intk ,charc){
    inti =0;
    cout << thread_idx << endl;
    while(i < k) {
        mtx.lock();
        if(active == thread_idx){
            cout << c ;
            active = (active++)%n;
            i++;
        }
        mtx.unlock();
    }
}
intmain(){
    cin >> n;
    string s;
    cin >> s;
    vector<thread> vth;
    for(inti =0; i < s.size(); i++){
        vth.push_back(move(thread(print, i, n, s[i])));
    }
    for(auto &t : vth)
        t.join();
    return0;
}
本地运行的结果正常,为啥在赛码网上就错误呢?如下图

跪求各位大佬指点!!感谢
#完美世界##笔试题目#
全部评论
赛码网是我见过最差的.......
2 回复 分享
发布于 2019-08-04 09:49
反正python的缩进在那里面是2个空格,贼吉尔奇葩
1 回复 分享
发布于 2019-08-03 18:14
插入代码不会自动换行,我也是佛了 #include<bits/stdc++.h> using namespace std; mutex mtx; int active = 0; int n; void print(int thread_idx, int k , char c){ int i = 0; cout << thread_idx << endl; while(i < k) { mtx.lock(); if(active == thread_idx){ cout << c ; active = (active++)%n; i++; } mtx.unlock(); } } int main(){ cin >> n; string s; cin >> s; vector<thread> vth; for(int i = 0; i < s.size(); i++){ vth.push_back(move(thread(print, i, n, s[i]))); } for(auto &t : vth) t.join(); return 0; }
点赞 回复 分享
发布于 2019-08-03 13:19
用牛客的
点赞 回复 分享
发布于 2019-08-03 18:03
我试了一下在线编程,是不是不能自动换行。。。
点赞 回复 分享
发布于 2020-04-16 09:51

相关推荐

10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务