#include <iostream> using namespace std; int main() { int n; cin >> n; int arr[20]; for (int i = 0; i < n; i++) { cin >> arr[i]; } int a, b, c, d; cin >> a >> b >> c >> d; // 调整为0-based索引 a--; b--; c--; d--; // 计算段长度 int len = b - a + 1; // 创建临时数组存储第一段 int temp[20]; for (int i = 0; i < len; i++) { temp[i] = arr[a + i]; } // 将第二段复制到第一段位置 for (int i = 0; i < len; i++) { arr[a + i] = arr[c + i]; } // 将临时存储的第一段复制到第二段位置 for (int i = 0; i < len; i++) { arr[c + i] = temp[i]; } // 输出结果 for (int i = 0; i < n; i++) { cout << arr[i]; if (i < n - 1) cout << " "; } cout << endl; return 0; } /************************************************************** Problem: 1171 User: fandaohan Language: C++ Result: Accepted Time:9 ms Memory:2072 kb ****************************************************************/