zoukankan      html  css  js  c++  java
  • 【HAOI2006】【BZOJ1050】旅行comf

    problem

    solution

    codes

    //just for test2
    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int inf = 0xfffffff;
    int n, m, sx, ed, _max=inf, _min=1;
    int gcd(int a, int b){ return !b?a:gcd(b,a%b); }
    struct Edge{ int u, v, w; }e[5010];
    bool cmp(Edge a, Edge b){ return a.w<b.w; }
    int fa[510];
    void init(int n){ for(int i = 1; i <= n; i++)fa[i]=i; }
    int find(int x){ return x==fa[x]?x:fa[x]=find(fa[x]); }
    void merge(int x, int y){x=find(x);y=find(y);if(x!=y)fa[x]=y;}
    int main(){
        cin>>n>>m;
        for(int i = 1; i <= m; i++)
            cin>>e[i].u>>e[i].v>>e[i].w;
        sort(e+1,e+m+1,cmp);
        cin>>sx>>ed;
        for(int i = 1; i <= m; i++){
            init(n);
            for(int j = i; j >= 1; j--){
                merge(e[j].u,e[j].v);
                if(find(sx)==find(ed)){
                    if(e[i].w*1.0/e[j].w < _max*1.0/_min){
                        _max = e[i].w;
                        _min = e[j].w;
                    }
                }
            }
        }
        if(_max==inf && _min==1)cout<<"IMPOSSIBLE
    ";
        else{
            int r = gcd(_max, _min);
            _max /= r;  _min /= r;
            if(_min == 1)cout<<_max<<"
    ";
            else cout<<_max<<"/"<<_min<<"
    ";
        }
        return 0;
    }
  • 相关阅读:
    explicit
    boolalpha 和 noboolalpha
    C++ 头文件一览
    C++ I/O库总结
    Error:collect2:ld returned 1 exit status (总结)
    常用目录的作用
    硬盘分区与硬软链接
    POJ3694 Network(Tarjan双联通分图 LCA 桥)
    2016"百度之星"
    2016"百度之星"
  • 原文地址:https://www.cnblogs.com/gwj1314/p/9444798.html
Copyright © 2011-2022 走看看