zoukankan      html  css  js  c++  java
  • Codeforces Round #318 (Div. 2) B Bear and Three Musketeers (暴力)

    算一下复杂度。发现可以直接暴。对于u枚举a和b,判断一下是否连边,更新答案。

    #include<bits/stdc++.h>
    using namespace std;
    
    int n,m;
    const int maxn = 4001;
    #define PB push_back
    vector<int> G[maxn];
    bool g[maxn][maxn];
    int deg[maxn];
    const int INF = 0x3f3f3f3f;
    int main()
    {
        //freopen("in.txt","r",stdin);
        scanf("%d%d",&n,&m);
        for(int i = 0; i < m; i++){
            int a,b;scanf("%d%d",&a,&b);
            deg[a]++; deg[b]++;
            g[a][b] = g[b][a] = true;
            G[a].PB(b); G[b].PB(a);
        }
        int ans = INF;
        for(int u = 1; u <= n; u++){
            int sz = G[u].size();
            for(int i = 0; i < sz; i++){
                int a = G[u][i];
                for(int j = i+1; j < sz; j++){
                    int b = G[u][j];
                    if(g[a][b]){
                        ans = min(ans,deg[u]+deg[a]+deg[b]-6);
                    }
                }
            }
        }
        if(ans<INF){
            printf("%d
    ",ans);
        }else printf("-1
    ");
        return 0;
    }
  • 相关阅读:
    代码大全第二版-阅读笔记01
    进度日报表15
    进度日报表14
    第七周总结
    进度日报表13
    进度日报表12
    进度日报表11
    系统图表联动
    算符优先分析法
    《软件需求模式》阅读笔记(一)
  • 原文地址:https://www.cnblogs.com/jerryRey/p/4770261.html
Copyright © 2011-2022 走看看