当前位置: 代码迷 >> 综合 >> 交换Easy(zzuli)
  详细解决方案

交换Easy(zzuli)

热度:59   发布时间:2023-12-05 16:20:30.0

题目描述

给定N个整数组成的序列,每次交换当前第x个与第y个整数,要求输出最终的序列。

输入

第一行为序列的大小N(1< =N< =1000)和操作次数M(1< =M< =1000)。 
第二行包含N个数字,表示初始序列。 
接下来M行,每行两个整数x,y  (1< =x,y< =N),表示要交换的两个整数的下标。在一次交换中,如果x和y相等,则不会改变序列的内容。 

输出

输出N行,为交换后的序列中的数。 

样例输入 Copy

5 2 
1 2 3 4 5
1 2
3 4

样例输出 Copy

2
1
4
3
5
#include <stdio.h>
#define N 1000
int main()
{int t,n,m,i,a,b;scanf("%d %d",&n,&m);int c[N];for(i=0;i<n;i++)scanf("%d",&c[i]);for(i=0;i<m;i++){scanf("%d %d",&a,&b);if(a!=b){t=c[a-1];c[a-1]=c[b-1];c[b-1]=t;}}for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;
}