๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
using namespace std;
int parent[101];
int N, M;
void union_parent(vector<vector<int>> &party){
for(int i=0; i<party.size(); i++){
bool flag = false;
for(int k=0; k<party[i].size(); k++){
if(parent[party[i][k]] == -1){
flag = true;
break;
}
}
if(flag){
for(int k=0; k<party[i].size(); k++){
parent[party[i][k]] = -1;
}
}
}
for(int i=party.size()-1; i>=0; i--){
bool flag = false;
for(int k=0; k<party[i].size(); k++){
if(parent[party[i][k]] == -1){
flag = true;
break;
}
}
if(flag){
for(int k=0; k<party[i].size(); k++){
parent[party[i][k]] = -1;
}
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>N>>M;
int know; cin>>know;
for(int i=0; i<know; i++){
int peo; cin>>peo;
parent[peo] = -1;
}
vector<vector<int>> party;
for(int i=0; i<M; i++){
int cnt; cin>>cnt;
vector<int> temp;
for(int k=0; k<cnt; k++){
int peo; cin>>peo;
temp.push_back(peo);
}
party.push_back(temp);
}
int cnt = 50;
while(cnt--) union_parent(party);
int ans = 0;
for(int i=0; i<party.size(); i++){
bool flag = true;
for(int k=0; k<party[i].size(); k++){
if(parent[party[i][k]] == -1){
flag = false;
break;
}
}
if(flag) ans ++;
}
cout<<ans;
}
ํ์ด
๋ฌธ์ ๋ถ๋ฅ๋ ์ ๋์จ ํ์ธ๋์ด์ง๋ง ์ ๋ ฅ๊ฐ์ด 50๋ฐ์ ๋ค์ด์ค์ง ์๊ธฐ ๋๋ฌธ์ ๋ธ๋ฃจํธํฌ์ค๋ฅผ ์ด์ฉํด์ ๊ตฌํ์ผ๋ก ํ์์ต๋๋ค.
์ง์ค์ ์๋ ์ฌ๋์ ๊ฒฝ์ฐ parent[์ฌ๋] = -1๋ก ์ธํ ํด์ฃผ๊ณ , ๋ชจ๋ ํํฐ๋ฅผ ํ์ํ๋ฉด์ ์ง์ค์ ์๋ ์ฌ๋์ด ํด๋น ํํฐ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ ๊ทธ ํํฐ์ ์กด์ฌํ๋ ๋ชจ๋ ์ฌ๋์ ์ง์ค์ ์๋ ์ฌ๋์ผ๋ก ์ธํ ํ์ต๋๋ค.
input:
4 5
1 1
1 1
1 2
1 3
2 4 2
2 4 1
answer: 1
๋ค๋ง ์์ ๊ฐ์ ์ ๋ ฅ์ฒ๋ผ ํํฐ์ ์์์ ์์กดํ์ง ์์์ผ ํ๊ธฐ ๋๋ฌธ์ ํํฐ ํ์์ ์์์ ๋๋ ๊ฒฝ์ฐ์ ๋ค์์ ๋๋ ๊ฒฝ์ฐ๋ก ์ํํ์ต๋๋ค.
input:
6 5
1 6
2 4 5
2 1 2
2 2 3
2 3 4
2 5 6
answer: 0
๋ํ ํํฐ ํ์์ ์ ๋ค๋ก ์ด ํ ๋ฒ๋ง ํ๋ ๊ฒฝ์ฐ ์์ ๊ฐ์ ์ ๋ ฅ์์ ์ฌ๋ 2, 3์ด ๊ฐฑ์ ๋์ง ์๊ธฐ ๋๋ฌธ์ ํํฐ์ ์ด ๊ฐฏ์์ธ 50๋งํผ ๋ฐ๋ณตํ๋๋ก ์ํํ์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 4485๋ฒ - ๋ น์ ์ท ์ ์ ์ ๊ฐ ์ ค๋ค์ง? (1) | 2022.11.02 |
---|---|
[๋ฐฑ์ค,c++] 1780๋ฒ - ์ข ์ด์ ๊ฐ์ (0) | 2022.10.05 |
[๋ฐฑ์ค,c++] 22858๋ฒ - ์์ ๋ณต๊ตฌ(small) (0) | 2022.09.28 |
[๋ฐฑ์ค,c++] 25644๋ฒ - ์ต๋ ์์น (0) | 2022.09.28 |
[๋ฐฑ์ค,c++] 1309๋ฒ - ๋๋ฌผ์ (0) | 2022.09.27 |
[๋ฐฑ์ค,c++] 12782๋ฒ - ๋นํธ ์ฐ์ ์ง์ (0) | 2022.09.27 |
๋๊ธ