๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/15464)
< The Bovine Shuffle >
๋ฌธ์ ํ์ด
3๋ฒ์ ์ ํ ๊ท์น์ ๋ฐ๋ผ ์ด๊ธฐ ์์๋ฅผ ๊ตฌํ๋ค.
3๋ฒ์ ์ ํ ํ ์์ ์์๊ฐ ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
1 3 4 5 2
1๋ฒ -> 1๋ฒ -> 1๋ฒ
3๋ฒ -> 4๋ฒ -> 5๋ฒ
4๋ฒ -> 5๋ฒ -> 2๋ฒ
5๋ฒ -> 2๋ฒ -> 3๋ฒ
2๋ฒ -> 3๋ฒ -> 4๋ฒ
์ด๊ธฐ ์์๋ 1๋ฒ, 5๋ฒ, 2๋ฒ, 3๋ฒ, 4๋ฒ ์์๊ฐ ๋๋ค.
my solution (Java)
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 _15464_ { // The Bovine Shuffle
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int N = Integer.parseInt(bf.readLine());
int arr[] = new int[N];
st = new StringTokenizer(bf.readLine());
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken()) - 1;
}
String id[] = new String[N];
st = new StringTokenizer(bf.readLine());
for (int i = 0; i < N; i++) {
id[i] = st.nextToken();
}
for (int i = 0; i < N; i++) {
bw.write(id[arr[arr[arr[i]]]] + "\n");
}
bw.flush();
}
}
๋ณ์)
N : ์์ ์
arr : ์ธ ๋ฒ์ ์ ํ ํ ์์
id : ์ ID
์์ ์์ ์ธ ๋ฒ์ ์ ํ ํ ์์, ์ ID๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ฐ๊ฐ N, arr, id์ ์ ์ฅํ๋ค. ์ด๊ธฐ ์์๋ฅผ ๊ตฌํ๊ธฐ ์ํด id[arr[arr[arr[i]]]]์ ์์๋๋ก ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 10770_Rรถvarsprรฅket (1) | 2025.05.15 |
---|---|
[Baekjoon] 14472_ไผๆฉในใใผใน (Refreshment Area) (1) | 2025.05.14 |
[Baekjoon] 9626_ํฌ๋ก์ค์๋ ํผ์ฆ (0) | 2025.05.09 |
[Baekjoon] 6212_Dream Counting (1) | 2025.05.08 |
[Baekjoon] 11999_Milk Pails (Bronze) (1) | 2025.05.07 |