首页 > 其他分享 >920. 最优乘车

920. 最优乘车

时间:2023-10-25 13:24:35浏览次数:25  
标签:cout int 乘车 isdigit 920 最优 include os

这道题实际上不需要最短路算法,因为每条边的边权都只有1

要注意在开始读入交通路线之前,要先把一个空行先读掉

这道题是“公交线路”  是有方向的   所以只能连单向边

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
const int N = 505, M = 25010, INF = 0x3f3f3f3f;
int m, n;
int f[N][N];
inline void DealWith(string os)
{
    vector<int> v;
    for (int i = 0; i < os.size(); i++)
    {
        if (isdigit(os[i]))
        {
            int x = 0;
            while (isdigit(os[i]))
            {
                x = x * 10 + os[i] - '0';
                i++;
            }
            i--;
            v.push_back(x);
        }
    }
    #ifdef DEBUG
    for(auto i:v) cout << i << ' ';
    cout << endl;
    #endif
    int s = v.size();
    for (int i = 0; i < s; i++)
        for (int j = i + 1; j < s; j++)
        {
            int a = v[i], b = v[j];
            f[a][b]   = min(f[a][b], 1);
        }
}
int main()
{
    string os;
    memset(f, 0x3f, sizeof(f));
    cin >> m >> n;
    for (int i = 1; i <= n; i++)
        f[i][i] = 0;
    getline(cin,os);
    for (int i = 1; i <= m; i++)
    {
        getline(cin, os);
        DealWith(os);
    }
    #ifdef DEBGU
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            int x = f[i][j] == INF ? -1 : f[i][j];
            cout << x << ' ';
        }

        cout << "\n";
    }
    #endif
    for (int k = 1; k <= n; k++)
        for (int i = 1; i <= n; i++)
            for (int j = 1; j <= n; j++)
                f[i][j] = min(f[i][j], f[i][k] + f[k][j]);
    if(f[1][n]>INF/2) cout << "NO" << "\n";
    else cout << f[1][n] - 1 << "\n";
    system("pause");
    return 0;
}

 

标签:cout,int,乘车,isdigit,920,最优,include,os
From: https://www.cnblogs.com/smartljy/p/17786929.html

相关文章

  • [920] Copy the font style from one cell in a table of a Word document to another
    TocopythefontstylefromonecellinatableofaWorddocumenttoanothercellusingPythonandthepython-docxlibrary,youcanaccessthefontpropertiesofthesourcecellandapplythemtothetargetcell.Here'showyoucandoit:First,ma......
  • Python用KNN(K-近邻)回归、分类、异常值检测预测房价、最优K值选取、误差评估可视化
    全文链接:https://tecdat.cn/?p=33917原文出处:拓端数据部落公众号KNN是一种非参数学习算法,这意味着它不会对底层数据做出任何假设。这是一个非常有用的特性,因为大多数客户的数据并不真正遵循任何理论假设,例如线性可分性,均匀分布等等。何时应使用KNN?假设您想要租一间公寓并最近......
  • [最优化DP]决策单调性
    决策单调性的概念&证明工具:决策单调性,是在最优化dp中的可能出现的一种性质,利用它我们可以降低转移的复杂度。首先dp中会有转移,每个状态都由若干个状态转移而来,最优化dp比较特殊,只能由一个最优的状态转移而来。我们称之为某个状态的最优转移点。然后,dp会有一个转移顺序,......
  • blast只保留一个最优结果
    使用blast比对时,只保留一个最优结果代码:blastn-dbnt.blast.db-queryseq.fa-outblast.nt.result-evalue1e-5-outfmt6-num_threads30-max_hsps1-num_alignments1 使用-max_hsps参数和-num_alignments,均设置为1,则保留一个最优结果......
  • 最优性剪枝,可行性剪枝,优化搜索顺序,排除等效冗余
    杨辉三角:  //https://www.luogu.com.cn/problem/P1118//最优性剪枝://由高中知识可得,abcd四个数符合杨辉三角的数相乘,即//res=a+3*b+3*c+d,前面的常数项也就是杨辉三角的数字//根据此结论,进行剪枝//由于暴力枚举全排列+部分剪枝不可过,所以要考虑方法性剪枝......
  • 最优贸易
    P1073[NOIP2009提高组]最优贸易我们考虑一个中间点,求出从\(1\)出发到它的最小买入价,从它到\(n\)的最大卖出价。(从它到\(n\)的求解是在反向图中从\(n\)开始跑)可以发现,这个做法是不会遗漏情况的。这个问题很像最短路问题,但是注意它第一次得到的答案并不是最终答案,所以......
  • 群晖安装保姆级教程(各位兄台慢慢看),给新新新手看的(以DS920类型的编译)
    感谢:非常感谢你的大力支持!我们的目标就是让天下没有难做的NAS。教程准备工具,请旺旺联系店主,店主会私信给你网盘下载链接。包含:引导文件、写盘工具等。1、打开写盘工具 2、插入优盘,优盘要求不小于8G,太小的优盘写起来很费劲。 3、在写盘工具界面上点击选择,选择刚刚下载......
  • ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径
    作者:胡玉瑜(稚柳)前言在过去几年中,人工智能技术取得了突飞猛进的发展,涵盖了机器学习、深度学习和神经网络等关键技术的重大突破,这使得人工智能在各个领域都得到广泛应用,对各行各业产生了深远的影响。特别值得一提的是,近年来,ChatGPT的快速发展,使得人工智能技术在自然语言处理和......
  • 最优二叉树—哈夫曼(huffman)树
    哈夫曼树又称最优二叉树,是一类带权路径长度最短的二叉树,有着广泛的应用。基本概念权:将树中的结点赋上一个有着某种意义的数值路径:从A结点道B结点所经过的分支序列路径长度:从A结点道B结点所经过的分支数目查找效率平均查找长度(ASL)取决于树的高度ASL=(1+2*2+3)/4=2     ......
  • 最优二叉树(Huffman 树)
    题目\(k\)叉树\(T\)有\(n\)片树叶。每片树叶\(v_i\)的权为\(w_i\),深度为\(l(v_i)\)。\(T\)的权值为\(W=\sumw_i\l(v_i)\)。求\(W\)的最小值。和在保证\(W\)最小的情况下,\(\maxl(v_i)\)的最小值。数据范围:\(1\len\le10^5\),\(2\lek\le10\),\(0<w_i......