tj
2025-08-08 11:09:09
发布于:浙江
3阅读
0回复
0点赞
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N, K, A1, A2, B1, B2;
cin >> N >> K >> A1 >> A2 >> B1 >> B2;
vector<int> cows(N+1), original(N+1);
for (int i = 1; i <= N; ++i) {
cows[i] = original[i] = i;
}
// 找循环节
int cycle = 0;
do {
cycle++;
reverse(cows.begin()+A1, cows.begin()+A2+1);
reverse(cows.begin()+B1, cows.begin()+B2+1);
} while (!equal(cows.begin()+1, cows.end(), original.begin()+1));
K %= cycle; // 取模优化
// 模拟剩余操作
for (int i = 1; i <= N; ++i) cows[i] = i;
for (int i = 0; i < K; ++i) {
reverse(cows.begin()+A1, cows.begin()+A2+1);
reverse(cows.begin()+B1, cows.begin()+B2+1);
}
// 输出结果
for (int i = 1; i <= N; ++i) {
cout << cows[i] << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个