关闭

算法提高 ADV-20 交换Easy

标签: 算法蓝桥杯java数据结构
115人阅读 评论(0) 收藏 举报
分类:
问题描述
  给定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 Scanner input = new Scanner(System.in);
	public static int n = input.nextInt();
	public static int m = input.nextInt();
	public static int [] arr = new int[n];
	public static void main(String[] args) {
		for (int i=0; i<arr.length; i++){
			arr[i] = input.nextInt();
		}
		
		for (int i=0; i<m; i++){
			swap(input.nextInt(),input.nextInt());
		}
		
		print();
	}
	
	public static void swap(int x,int y){
		int temp = arr[x-1];
		arr[x-1] = arr[y-1];
		arr[y-1] = temp;
	}
	
	public static void print(){
		for(int i=0; i<arr.length; i++){
			System.out.println(arr[i]);
		}
	}
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10069次
    • 积分:1495
    • 等级:
    • 排名:千里之外
    • 原创:146篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条