zoukankan      html  css  js  c++  java
  • 牛客算法周周练18E

    在这里插入图片描述在这里插入图片描述

    题目大意:

    给出n个节点和m条路线,对于接下来的m 行,每行输入a b c 表示a b 之间有一条权值为c的路,你的任务是从 1 走到 n,每次你只能走权值 <= ans 的路,输出最小的ans值。

    解题思路:

    首先注意一下多组输入,然后地图200 * 200, Floyd水过去就好了,改一下路径松弛的过程即可。

    Code:

    #pragma GCC optimize(2)
    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #include <cmath>
    #include <vector>
    #include <queue>
    #include <stack>
    #include <map>
    #include <set>
    #include <cstring>
    using namespace std;
    typedef long long ll;
    typedef pair<int, int> pii;
    const int N = 250;
    const int inf = 0x3f3f3f3f;
    int mp[N][N];
    int n, m;
    int main()
    {
    	ios::sync_with_stdio(false);
    	while (cin >> n >> m)
    	{
    		for (int i = 1;  i <= n; i ++)//每次先初始化
    			for (int j = 1; j <= n; j ++)
    				mp[i][j] = (i == j) ? 0 : inf;
    		for (int i = 1; i <= m; i ++)
    		{
    			int a, b, c;
    			cin >> a >> b >> c;
    			mp[a][b] = min(mp[a][b], c);
    		}
    		for (int k = 1; k <= n; k ++)
    			for (int i = 1; i <= n; i ++)
    				for (int j = 1; j <= n; j ++)
    					mp[i][j] = min(mp[i][j], max(mp[i][k], mp[k][j]));//这里改一下即可
    		cout << mp[1][n] << endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    Databases Questions & Answers
    SQL语句
    常见的数据库基础面试题大全
    关于GET POST
    经常遇到的浏览器兼容性问题
    关于JavaScript中apply与call的用法意义及区别(转)
    js闭包的用途
    深入理解js闭包
    undefined与null的区别
    HeapSort快速排序
  • 原文地址:https://www.cnblogs.com/Hayasaka/p/14294160.html
Copyright © 2011-2022 走看看