import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 바구니 개수(배열의 크기)
int M = sc.nextInt(); // 공 바꾸는 횟수
int[] arr = new int[N];
// 배열 초기화(바구니와 같은 번호의 공 담기)
for(int k = 0; k < N; k++) { // 배열의 index는 0부터 시작
arr[k] = k + 1; // index에서 +1을 해줘야 공 번호(=바구니 번호)가 됨
}
for(int l = 0; l < M; l++) {
int i = sc.nextInt();
int j = sc.nextInt();
int temp = arr[i - 1];
arr[i - 1] = arr[j - 1];
arr[j - 1] = temp;
}
for(int x = 0; x < N; x++){
System.out.print(arr[x] + " "); // System.out.printf("%d ", arr[x]);
}
/*
for(int basket : arr){
System.out.print(basket + " ");
}
*/
sc.close();
}
}
🌟 swap 알고리즘 : 서로 위치를 바꾸는 알고리즘
📎 temp 변수를 활용한 임시공간 할당방식이 가장 대중적으로 쓰이는 방법
: temp에 a의 값을 저장하고 a에는 b의 값을 저장하고 b에는 다시 temp에 임시할당한 값을 넣어서 바꾸는 방식
❗️temp 변수는 빈 병이라고 생각하면 됨. 두 컵의 내용물을 서로 바꾸고 싶을 때, 내용물이 섞이지 않기 위해 사용되는 용도
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken()); // 바구니 개수(배열의 크기)
int M = Integer.parseInt(st.nextToken()); // 공 바꾸는 횟수
int[] arr = new int[N];
// 배열 초기화(바구니와 같은 번호의 공 담기)
for(int k = 0; k < N; k++) { // 배열의 index는 0부터 시작
arr[k] = k + 1; // index에서 +1을 해줘야 공 번호(=바구니 번호)가 됨
}
for(int l = 1; l <= M; l++) {
st = new StringTokenizer(br.readLine());
int i = Integer.parseInt(st.nextToken());
int j = Integer.parseInt(st.nextToken());
int temp = arr[i - 1];
arr[i - 1] = arr[j - 1];
arr[j - 1] = temp;
}
for(int x = 0; x < N; x++){
System.out.printf(arr[x] + " ");
}
br.close();
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken()); // 바구니 개수(배열의 크기)
int M = Integer.parseInt(st.nextToken()); // 공 바꾸는 횟수
int[] arr = new int[N];
// 배열 초기화(바구니와 같은 번호의 공 담기)
for(int k = 0; k < N; k++) { // 배열의 index는 0부터 시작
arr[k] = k + 1; // index에서 +1을 해줘야 공 번호(=바구니 번호)가 됨
}
for(int l = 1; l <= M; l++) {
st = new StringTokenizer(br.readLine());
int i = Integer.parseInt(st.nextToken());
int j = Integer.parseInt(st.nextToken());
int temp = arr[i - 1];
arr[i - 1] = arr[j - 1];
arr[j - 1] = temp;
}
StringBuilder sb = new StringBuilder();
for(int x = 0; x < N; x++){
sb.append(arr[x] + " "); //sb.append(arr[x]).append(" ");
}
System.out.print(sb);
br.close();
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken()); // 바구니 개수(배열의 크기)
int M = Integer.parseInt(st.nextToken()); // 공 바꾸는 횟수
int[] arr = new int[N];
// 배열 초기화(바구니와 같은 번호의 공 담기)
for(int k = 0; k < N; k++) { // 배열의 index는 0부터 시작
arr[k] = k + 1; // index에서 +1을 해줘야 공 번호(=바구니 번호)가 됨
}
for(int l = 1; l <= M; l++) {
st = new StringTokenizer(br.readLine());
int i = Integer.parseInt(st.nextToken());
int j = Integer.parseInt(st.nextToken());
int temp = arr[i - 1];
arr[i - 1] = arr[j - 1];
arr[j - 1] = temp;
}
for(int x = 0; x < N; x++){
bw.write(arr[x] + " ");
}
bw.flush();
bw.close();
br.close();
}
}
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
const [N, M] = input[0].split(" ").map(Number);
let arr = new Array(N);
for(let k=0; k < N; k++){
arr[k] = k+1;
}
for(let l=1; l <= M; l++){
let [i, j] = input[l].split(" ").map(Number);
let temp = arr[i-1];
arr[i-1] = arr[j-1];
arr[j-1] = temp;
}
console.log(arr.join(" "));
N, M = map(int, input().split())
arr = [0] * N # arr = [i for i in range(1, N+1)]
temp = 0
for k in range(N) :
arr[k] = k + 1
for l in range(M) :
i, j = map(int, input().split())
temp = arr[i-1];
arr[i-1] = arr[j-1];
arr[j-1] = temp;
for x in range(N) :
print(arr[x], end = " ")
N, M = map(int, input().split())
arr = [i for i in range(1, N+1)]
for k in range(N) :
arr[k] = k + 1
for l in range(M) :
i, j = map(int, input().split())
arr[i-1], arr[j-1] = arr[j-1], arr[i-1];
for x in range(N) :
print(arr[x], end = " ")