题解 | #洗牌#

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

// 洗牌 : 存在一定的周期性!

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	int t, n, k;
	cin >> t;
	while (t--) {
		cin >> n >> k;
		vector<int> arr;
		arr.resize(2 * n);
		for (int i = 0; i < 2 * n; i++) cin >> arr[i];
		// 洗牌!
		for (int i = 0; i < k; i++) { 
			vector<int> tmp(arr.begin(), arr.end()); // 对上一次结果进行拷贝!
			for (int j = 0; j < n; j++) {
				arr[2 * j] = tmp[j]; // 左边的牌的位置!
				arr[2 * j + 1] = tmp[j + n]; // 右边的牌的位置!
			}
		}
		for (int i = 0; i < 2 * n - 1; i++) {
			cout << arr[i] << " ";
		}
		cout <<arr[2*n - 1]<<endl;
	}
	return 0;
}

全部评论

相关推荐

牛客44320985...:你的当务之急是把这个糖的要死的沟槽ide主题改了
点赞 评论 收藏
分享
03-05 17:03
已编辑
浙江工商大学 C++
陈好好wy:整体看下来有点空空的感觉,可以把每一段项目经历都再完善一下,然后用小标题的形式写个两到三条,目前看有点太简单了,不太能看出具体在这个项目里做了什么工作。还是要尽量把自己做的工作以量化的形式体现在简历上呢。
双非本科求职如何逆袭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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