Skip to content

Commit b4f65ef

Browse files
authored
Merge pull request #322 from AlgorithmWithGod/lkhyun
[20250504] BOJ / G4 / 거짓말 / 이강현
2 parents f14750c + 7184c3f commit b4f65ef

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
```java
2+
import java.io.*;
3+
import java.util.*;
4+
5+
public class Main {
6+
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
7+
static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
8+
static StringTokenizer st;
9+
static int N,M;
10+
static boolean[] knowingPeople;
11+
12+
public static void main(String[] args) throws Exception {
13+
st = new StringTokenizer(br.readLine());
14+
N = Integer.parseInt(st.nextToken());
15+
M = Integer.parseInt(st.nextToken());
16+
17+
st = new StringTokenizer(br.readLine());
18+
int temp = Integer.parseInt(st.nextToken());
19+
knowingPeople = new boolean[N+1];
20+
for (int i = 0; i < temp; i++) {
21+
knowingPeople[Integer.parseInt(st.nextToken())] = true;
22+
}
23+
24+
List<List<Integer>> party = new ArrayList<>();
25+
for (int i = 0; i < M; i++) {
26+
List<Integer> l = new ArrayList<>();
27+
st = new StringTokenizer(br.readLine());
28+
int num = Integer.parseInt(st.nextToken());
29+
for (int j = 0; j < num; j++) {
30+
int people = Integer.parseInt(st.nextToken());
31+
l.add(people);
32+
}
33+
party.add(l);
34+
}
35+
36+
37+
int prev;
38+
int curr = party.size();
39+
do{
40+
prev = curr;
41+
curr = 0;
42+
43+
for (int i = 0; i < party.size(); i++) {
44+
boolean found = false;
45+
for (int j = 0; j < party.get(i).size(); j++) {
46+
if(knowingPeople[party.get(i).get(j)]){
47+
found = true;
48+
break;
49+
}
50+
}
51+
if(found){
52+
for (int j = 0; j < party.get(i).size(); j++) {
53+
knowingPeople[party.get(i).get(j)] = true;
54+
}
55+
party.remove(i--);
56+
}else{
57+
curr++;
58+
}
59+
}
60+
}while(!party.isEmpty() && prev != curr);
61+
62+
bw.write(curr + "");
63+
bw.close();
64+
}
65+
}
66+
```

0 commit comments

Comments
 (0)