zoukankan      html  css  js  c++  java
  • L2-036 网红点打卡攻略 (25 分)

    水题。

    const int N=210;
    int g[N][N];
    int n,m,q;
    int tot,ans,idx;
    
    int main()
    {
        cin>>n>>m;
    
        memset(g,0x3f,sizeof g);
    
        while(m--)
        {
            int a,b,c;
            cin>>a>>b>>c;
            g[a][b]=g[b][a]=c;
        }
    
        cin>>q;
        for(int i=1;i<=q;i++)
        {
            int k;
            cin>>k;
            vector<int> a(k+1);
            vector<int> cnt(n+1,0);
            for(int i=0;i<k;i++) cin>>a[i];
    
            if(k != n) continue;  // k不为n,要么是少走了点,要么是走了重复点
    
            a[k]=0;  // 最终要回到起点
            bool ok=true;
            int sum=0;
            for(int i=0;i<=k;i++)
            {
                if(i == 0) sum+=g[0][a[i]];
                else sum+=g[a[i-1]][a[i]];
                cnt[a[i]]++;
                if(sum > INF || cnt[a[i]] > 1)
                {
                    ok=false;
                    break;
                }
            }
    
            if(ok)
            {
                tot++;
                if(ans == 0 || sum < ans)
                {
                    ans=sum;
                    idx=i;
                }
            }
        }
    
        cout<<tot<<endl;
        cout<<idx<<' '<<ans<<endl;
        //system("pause");
        return 0;
    }
    
  • 相关阅读:
    hdu5081
    hdu5079
    hdu5076
    hdu5072
    codeforces 739E
    codeforces 739D
    2017.2其他简要题解
    spring事务传播回滚策略
    mybatis一级缓存和二级缓存
    spring-boot-mybatis-starter工作原理
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14683028.html
Copyright © 2011-2022 走看看