zoukankan      html  css  js  c++  java
  • 无向图判断三元环

    在无向图中,如果三个不同的顶点之间都有边,则称他们组成了一个三角形。

    在一张无向图 G 中,有且仅有一个三角形。现在你的任务是找到它。

    输入格式

    第一行两个数 n,mn,m,表示 G 的顶点个数和边的条数。

    接下来 mm 行,每行两个数 i,ji,j 表示点 ii 和 jj 之间有一条边。题目保证没有重边和自环。

    输出格式

    输出一行,三个整数, i<j<ki<j<k ,表示三角形的三个顶点。

    数据范围

    对于 20%20%的数据 n<200n<200。

    对于另外 30%30% 的数据 n2000n≤2000。

    对于全部数据 n,m100000n,m≤100000。

    样例输入1

    3 3
    1 2
    2 3
    3 1

    样例输出1

    1 2 3

    样例输入2

    4 4
    1 2
    2 3
    3 1
    1 4

    样例输出2

    1 2 3
    #include<bits/stdc++.h>
    using namespace std;
    const int N=2010;
    int n,m,ans1,ans2,ans3,mp[N][N],u[N],v[N];
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=m;++i){
            scanf("%d%d",&u[i],&v[i]);
            mp[u[i]][v[i]]=mp[v[i]][u[i]]=1;
        }
        bool flag=0;
        for(int i=1;i<=m;++i){
            
            int x=u[i],y=v[i];
            
            for(int j=1;j<=n;++j){
                
                if(j==x||j==y) continue;
                
                if(mp[x][j] && mp[y][j]){
                    //ans1=x; ans2=y; ans3=j;
                    flag=1; 
                    break;
                }
            }
            if(flag) break;
        }
       if(flag) puts("1");
       else puts("0");
        return 0;
    }
      
    View Code
  • 相关阅读:
    BeautifulSoup
    requests
    安装xpath helper
    取消搜狗输入法的快捷键
    numpy初识 old
    Jupyter Notebook 快捷键
    安装numpy、matplotlib
    JavaScript 继承 -JavaScript高级程序设计
    mac /windows
    unicode 地址
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8781329.html
Copyright © 2011-2022 走看看