풀이
공.강.시.러
코드
#include <cstdio>
#include <cstdlib>
#include <vector>
using namespace std;
int n, m, chk[102];
vector<int> gph[102];
void dfs(int now) {
if (chk[now] == 1) {
puts("CYCLE");
exit(0);
}
chk[now] = 1;
for (int nxt : gph[now]) {
if (chk[nxt] != 2) dfs(nxt);
}
chk[now] = 2;
}
int main() {
scanf("%d", &n);
for (int i = 1, u; i < n; i++) {
scanf("%d", &m);
while (m--) {
scanf("%d", &u);
gph[i].push_back(u);
}
}
dfs(1);
puts("NO CYCLE");
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이