Advertisement

UVa 1599 理想路径 Ideal Path

阅读量:

题目:
给定一个包含n个顶点和m条边的无向图,每条边均被赋予一种颜色,颜色以数字形式表示。要求找出从顶点1到顶点n的一条路径,在满足边数最少的前提下,进一步确保所经过边的颜色字典序最小。两个顶点之间可能存在多条边,且一条边可能连接相同的两个顶点。输入数据保证顶点1能够到达顶点n。颜色数值范围为1至10^9的整数。

要点

复制代码
    #include<bits/stdc++.h>
    #define INF 0x7fffffff
    using namespace std;
    
    const int maxn = 1e5 + 20;
    int d[maxn];    //存距离
    int vis[maxn];
    
    vector<int> ans;
    vector<unordered_map<int, int>> vec; //储存数据
    
    //反向bfs
    void bfs1(int n, int& dis) {
    	memset(vis, 0, sizeof(vis));
    	queue<int> q;
    	q.push(n);
    	vis[n] = 1;
    	while (!q.empty()) {
    		dis++;
    		int

全部评论 (0)

还没有任何评论哟~