#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, 0sizeof(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

+ Recent posts