1084: 交换Easy
问题描述
给定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
import java.util.Scanner;
public class Main {
public static void out() {
Scanner in = new Scanner(System.in);
int n,m;
while(in.hasNext()) {
n = in.nextInt();
m = in.nextInt();
int []a = new int[n+1];
for (int i = 1; i < a.length; i++) {
a[i] = in.nextInt();
}
int []b = new int[m*2];
for (int i = 0; i < b.length; i++) {
b[i] = in.nextInt();
}
//
for (int i = 0; i < b.length; i+=2) {
//交换
int temp;
temp = a[b[i]];
a[b[i]] = a[b[i+1]];
a[b[i+1]] = temp;
}
//输出
for (int i = 1; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
public static void main(String[] args) {
out();
}
}