问题描述
给定
N
个整数组成的序列,每次交换当前第
x
个与第
y
个整数,要求输出最终的序列。
输⼊格式
第⼀⾏为序列的⼤⼩
N(1<=N<=1000)
和操作个数
M(1<=M<=1000)
。
第⼆⾏包含
N
个数字,表示初始序列。
接下来
M
⾏,每⾏两个整数
x,y (1<=x,y<=N)
,表示要交换的两个整数。在⼀次交换中,如果
x
和
y
相等,则不会改变序列的内容。
输出格式
输出
N
⾏,为交换后的序列中的数。
样例输⼊
5 2
1 2 3 4 5
1 2
3 4
样例输出
2
1
4
3
5
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string>
#include <set>
#include <queue>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<m;i++)
{
int b,c;
cin>>b>>c;
swap(a[b-1],a[c-1]);
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<endl;
}
return 0;
}