蓝桥 算法提高 交换Easy

算法提高 交换Easy
 

Description

 

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

Input

 

输入描述:

第一行为序列的大小N(1<=N<=1000)和操作个数M(1<=M<=1000)。

第二行包含N个数字,表示初始序列。

接下来M行,每行两个整数x,y (1<=x,y<=N),表示要交换的两个整数。在一次交换中,如果x和y相等,则不会改变序列的内容。

输入样例:

5 2

1 2 3 4 5

1 2

3 4

Output

 

输出描述:

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

输出样例:

2

1

4

3

5

 1 import java.util.HashMap;
 2 import java.util.Scanner;
 3 
 4 public class Main {
 5     public static void main(String arg[]){
 6      Scanner in=new Scanner(System.in);
 7      int n=in.nextInt();
 8      int m=in.nextInt();
 9      int sz[]=new int[n+1];
10         HashMap<Integer,Integer> hm=new HashMap<>();
11         for (int i = 1; i <sz.length; i++) {
12             int z=in.nextInt();
13             sz[i]=z;
14             hm.put(i,z);
15         }
16         for (int i = 0; i < m; i++) {
17             int a=in.nextInt();
18             int b=in.nextInt();
19             int c=hm.get(a);
20             int d=hm.get(b);
21             sz[a]=d;
22             sz[b]=c;
23             hm.put(a,d);
24             hm.put(b,c);
25 
26         }
27         for (int i = 1; i <sz.length; i++) {
28             System.out.println(sz[i]);
29         }
30 
31     }
32 
33 }

猜你喜欢

转载自www.cnblogs.com/hwhWorld/p/10465871.html