#include <stdio.h> #include <iostream> #include <set> #include <queue> #include <vector> #include <string> #include <algorithm> #include <math.h> #include <string.h> using namespace std; int peopleNum, relation; bool flag = false; vector<int> v[2010]; int visited[2010]; void DFS(int start, int cnt) { if(cnt == 4) { flag = true; return; } for(int i = 0; i < v[start].size(); i++) { if(visited[v[start][i]] == 0) { visited[v[start][i]] = 1; DFS(v[start][i], cnt+1); visited[v[start][i]] = 0; if(flag == true) { return; } } } } int main(void) { // freopen("B13023_input.txt", "r", stdin); cin >> peopleNum >> relation; for(int i = 1; i <= relation; i++) { int a, b; cin >> a >> b; v[a].push_back(b); v[b].push_back(a); } for(int i = 0; i < peopleNum; i++) { memset(visited, 0, sizeof(visited)); visited[i] = 1; DFS(i, 0); visited[i] = 0; if(flag == true) { cout << "1" << endl; break; } } if(flag == false) { cout << "0" << endl; } return 0; } | cs |
'Baekjoon > DFS' 카테고리의 다른 글
[백준 2667] 단지번호 붙이기 (DFS) (C/C++) (0) | 2020.01.26 |
---|---|
[백준 10451] 순열 사이클 (DFS) (C/C++) (0) | 2020.01.26 |
[백준 14500] 테트로미노 (DFS) (C/C++) (★) (0) | 2019.11.19 |
[백준 10971] 외판원 순회2 (DFS) (C/C++) (★) (0) | 2019.11.19 |
[백준 2210] 숫자판 점프 (DFS) (C/C++) (1) | 2019.11.18 |