zoukankan      html  css  js  c++  java
  • Codeforces 601A

    #include <bits/stdc++.h>  
    using namespace std;  
    #define maxn 411  
    #define INF 11111  
      
    int a1[maxn][maxn], a2[maxn][maxn];  
    int n, m;  
    int d[maxn];  
    bool vis[maxn];  
      
    int dij (int a[maxn][maxn]) {  
        for (int i = 1; i <= n; i++) {  
            d[i] = INF;  
            vis[i] = 0;  
        }  
        d[1] = 0;  
        for (int j = 1; j <= n; j++) {  
            int k = -1;  
            int Min = INF;  
            for (int i = 1; i <= n; i++) {  
                if (!vis[i] && d[i] < Min) {  
                    Min = d[i];  
                    k = i;  
                }  
            }  
            if (k == -1)  
                break;  
            vis[k] = 1;  
            for (int i = 1; i <= n; i++) {  
                if (!vis[i])  
                    d[i] = min (d[i], d[k]+a[k][i]);  
            }  
        }  
        return d[n];  
    }  
      
    int main () {  
        scanf ("%d%d", &n, &m);  
        for (int i = 1; i <= n; i++) {  
            for (int j = 1; j <= n; j++) {  
                a1[i][j] = a2[i][j] = INF;  
            }  
        }  
        int u, v;  
        for (int i = 1; i <= m; i++) {  
            scanf ("%d%d", &u, &v);  
            a1[u][v] = a1[v][u] = 1;  
        }  
        for (int i = 1; i <= n; i++) {  
            for (int j = 1; j <= n; j++) {  
                if (i == j)  
                    continue;  
                if (a1[i][j] == INF)  
                    a2[i][j] = 1;  
            }  
        }  
        int ans1 = dij (a1);  
        int ans2 = dij (a2);   
        if (ans1 >= INF || ans2 >= INF)  
            cout << "-1" << endl;  
        else cout << max (ans1, ans2) << endl;  
        return 0;  
    }  
  • 相关阅读:
    codeforces round #433 div2
    bzoj1951
    bzoj3620
    bzoj2286
    bzoj1513
    bzoj4390
    codeforces round 430 div 2
    bzoj3339
    准备实现体积蒙皮
    看牛顿法的改进与验证局部收敛
  • 原文地址:https://www.cnblogs.com/NWUACM/p/6818890.html
Copyright © 2011-2022 走看看