// 洗牌 : 存在一定的周期性! #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; }