蓝桥 算法提高 交换Easy

mac2022-06-30  43

算法提高 交换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 }

 

转载于:https://www.cnblogs.com/hwhWorld/p/10465871.html

最新回复(0)