赛码网大家用过吗

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

相关推荐

11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
评论
1
2
分享
牛客网
牛客企业服务