Skip to content

Commit 620c203

Browse files
committed
Add : boj2668
1 parent aa6281f commit 620c203

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/Baekjoon/java/gold/boj2668.java

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package Baekjoon.java.gold;
2+
3+
import java.io.BufferedReader;
4+
import java.io.InputStreamReader;
5+
import java.util.ArrayList;
6+
import java.util.List;
7+
import java.util.stream.Collectors;
8+
9+
public class boj2668 {
10+
static int nums[],N,maxCnt;
11+
static boolean[] checked;
12+
static List<Integer> answer;
13+
public static void main(String[] args) throws Exception{
14+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
15+
N = Integer.parseInt(br.readLine());
16+
nums = new int[N+1];
17+
18+
maxCnt=0;
19+
for (int i = 1; i < N+1; i++) {
20+
nums[i] = Integer.parseInt(br.readLine());
21+
}
22+
checked = new boolean[N+1];
23+
answer = new ArrayList<Integer>();
24+
for (int i = 1; i<=N; i++) {
25+
checked[i] = true;
26+
dfs(i,i);
27+
checked[i] = false;
28+
}
29+
answer = answer.stream().sorted().distinct().collect(Collectors.toList());
30+
System.out.println(answer.size());
31+
for (int i = 0; i < answer.size(); i++) {
32+
System.out.println(answer.get(i));
33+
};
34+
}
35+
36+
private static void dfs(int start,int now){
37+
if(!checked[nums[now]]){
38+
checked[nums[now]] = true;
39+
dfs(start,nums[now]);
40+
checked[nums[now]] = false;
41+
}
42+
if(nums[now]==start) answer.add(now);
43+
}
44+
}

0 commit comments

Comments
 (0)