zoukankan      html  css  js  c++  java
  • 2020年团体程序设计天梯赛 L2-4 网红点打卡攻略

    思路:

    水题,略过

    Tip:

    #include <bits/stdc++.h>
    
    using namespace std;
    typedef long long ll;
    const int maxn = 200 + 5;
    const int INF = 0x7FFFFFFF;
    
    int mp[maxn][maxn];
    
    int len[maxn];
    int minn = INF;
    int indexx = 0;
    
    int main() {
        memset(mp, 0x3f, sizeof(mp));
        int n, m;
        cin >> n >> m;
        for (int i = 1; i <= m; i++) {
            int x, y, z;
            cin >> x >> y >> z;
            if (mp[x][y] > z)
                mp[x][y] = z;
            if (mp[y][x] > z)
                mp[y][x] = z;
        }
        int q;
        cin >> q;
        int num = 0;
        for (int nowidnex = 1; nowidnex <= q; nowidnex++) {
            int k;
            set<int> s;
            cin >> k;
            for (int i = 1; i <= k; i++) {
                cin >> len[i];
                s.insert(len[i]);
            }
            if (k != n || s.size() != n || mp[0][len[1]] == 0x3f3f3f3f || mp[len[k]][0] == 0x3f3f3f3f)
                continue;
            int ans = mp[0][len[1]] + mp[len[k]][0];
            bool flag = true;
            for (int i = 1; i < k; i++) {
                if (mp[len[i]][len[i + 1]] == 0x3f3f3f3f) {
                    flag = false;
                    break;
                }
                ans += mp[len[i]][len[i + 1]];
            }
            if (!flag)
                continue;
            if (ans < minn) {
                minn = ans;
                indexx = nowidnex;
            }
            num++;
        }
        cout << num << endl;
        cout << indexx << " " << minn << endl;
        return 0;
    }
    

      

  • 相关阅读:
    DataGird导出EXCEL的几个方法
    csv文件与DataTable互相导入处理
    LeetCode 345
    LeetCode 168
    LeetCode 344
    LeetCode 342
    LeetCode 343
    LeetCode 326
    LeetCode 338
    LeetCode 319
  • 原文地址:https://www.cnblogs.com/Whiteying/p/14056514.html
Copyright © 2011-2022 走看看