赛码网大家用过吗

完美世界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

相关推荐

目前感觉简历还有很多问题,希望各位能不吝赐教以及非常感谢这位老哥——@黑皮白袜臭脚体育生&nbsp;的项目,学完一遍感觉受益颇丰
小菜鸡只想转正:校友,我的建议是冗余的最好去掉,突出重点,比如985,211双一流的提示,专业技能调整到个人项目之后的位置。专业技能感觉写的太细了?占用篇幅最好腾出一点给项目经历,如果没写手机号和邮箱,记得加上。
点赞 评论 收藏
分享
2024-12-25 09:09
四川师范大学 运营
想和你交朋友的潜伏者要冲国企:先去沃尔玛亲身感受标准化流程体系,一两年后再跳槽国内任何零售行业,可以有更大选择权吧?
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务