数字交换
内存限制: 256 MiB 时间限制: 1000 ms 标准输入输出 题目类型: 传统 评测方式: 文本比较
题目描述
有一组数(设有 N 个)。编一程序交换这组数中任意指定的两段。
输入格式
一个数 N(不超过 20 个)
一行 N 个数由空格分开
两个空格分开的数(表示要交换的其中一段)
两个空格分开的数(表示要交换的其中另一段)
输出格式
交换后的一行数(中间用空格隔开)
样例
样例输入
复制16
3 6 11 45 23 70 67 34 26 89 90 15 56 50 20 10
3 5
13 15
样例输出
复制3 6 56 50 20 70 67 34 26 89 90 15 11 45 23 10
#include <bits/stdc++.h>
using namespace std;
int n, x1, x2, y1, y2;
int a[25];
int main() {
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
}
scanf("%d %d %d %d", &x1, &x2, &y1, &y2);
for(int i = 1;i <= x2 - x1 + 1; i++) {
swap(a[x1 + i - 1], a[y1 + i - 1]);
}
for(int i = 1; i <= n; i++) {
printf("%d ", a[i]);
}
return 0;
}