题解 | #洗牌#

洗牌

https://www.nowcoder.com/practice/5a0a2c7e431e4fbbbb1ff32ac6e8dfa0

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

vector<int> wash(vector<int>& arr) {
    int size = arr.size();
    vector<int> tmp;

    int i = size / 2;
    int j = 1;

    while (i) {
        tmp.push_back(arr[size - j]);
        tmp.push_back(arr[(size / 2) - j]);
        --i;
        ++j;
    }

    reverse(tmp.begin(), tmp.end());

    return tmp;
}

int main() {
    int time = 0;
    int n = 0, k = 0;
    cin >> time;

    while (time--) {
        cin >> n >> k;
        vector<int> arr(2 * n);

        for (int i = 0; i < 2 * n; ++i) {
            cin >> arr[i];
        }

        while (k--) {
            arr = wash(arr);
        }

        for (auto e : arr) {
            cout << e << " ";
        }
        cout << endl;
    }
}

全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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