【LightOJ 1002】 Country Roads

【LightOJ 1002】 Country Roads

。。。又一个另类OJ。。。最长路 贴个SPFA的

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>

using namespace std;

int mp[555][555];
int dis[555];
bool vis[555];
int n,m,tp,s;

void SPFA()
{
    memset(vis,0,sizeof(vis));
    memset(dis,-1,sizeof(dis));
    vis[s] = 1;
    queue <int> q;
    q.push(s);
    vis[s] = 1;
    dis[s] = 0;
    int u,v,w,i,k;
    while(!q.empty())
    {
        u = q.front();
        q.pop();
        vis[u] = 0;
        for(i = 0; i < n; ++i)
        {
            if(mp[u][i] == -1) continue;
            k = dis[i];
            if(dis[i] == -1) dis[i] = max(mp[u][i],dis[u]);
            else  dis[i] = min(dis[i],max(dis[u],mp[u][i]));
            if(k == dis[i]) continue;
            if(!vis[i])
            {
                q.push(i);
                vis[i] = 1;
            }
        }
    }
}

int main()
{
    int t,u,v,w,i,j;
    scanf("%d",&t);
    for(j = 1; j <= t; ++j)
    {
        printf("Case %d:\n",j);
        scanf("%d %d",&n,&m);
        tp = 0;
        memset(mp,-1,sizeof(mp));
        for(i = 0; i < m; ++i)
        {
            scanf("%d %d %d",&u,&v,&w);
            mp[u][v] = mp[v][u] = (mp[u][v] == -1)? w: min(w,mp[u][v]);
        }
        scanf("%d",&s);
        SPFA();
        for(i = 0; i < n; ++i)
        {
            if(dis[i] == -1) puts("Impossible");
            else printf("%d\n",dis[i]);
        }
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 05:48:16

【LightOJ 1002】 Country Roads的相关文章

【lightoj-1002】Country Roads(dijkstra变形)

light1002:传送门 [题目大意] n个点m条边,给一个源点,找出源点到其他点的‘最短路’ 定义:找出每条通路中最大的cost,这些最大的cost中找出一个最小的即为‘最短路’,dijkstra变形.dis[i]为s->i的‘最短路’ 1 #include<bits/stdc++.h> 2 int mp[505][505],dis[505],vis[505]; 3 using namespace std; 4 int n; 5 void dij(int s) 6 { 7 int i

【树形dp】Rebuilding Roads

[POJ1947]Rebuilding Roads Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 11934   Accepted: 5519 Description The cows have reconstructed Farmer John's farm, with its N barns (1 <= N <= 150, number 1..N) after the terrible earthquake las

【递推】【高精度】【FJOI 2007】【bzoj 1002】轮状病毒

1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3238 Solved: 1797 Description 给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 将编程计算出的不同的n轮状病毒数输出 Sample Input 3 Sample Output 16 题解: 递推. 打表可以找规律得,f[i]=3*f[i-1]-f[i-2]+2,但是需要高精

【LightOJ 1422】Halloween Costumes(区间DP)

题 题意 告诉我们每天要穿第几号衣服,规定可以套好多衣服,所以每天可以套上一件新的该号衣服,也可以脱掉一直到该号衣服在最外面.求最少需要几件衣服. 分析 DP,dp[i][j]表示第i天到第j天不脱第i天之前的衣服最少需要的衣服数量,那就可以由和第j天穿一样的衣服的第k天转移过来,或者再套一件第j天的衣服. 状态转移方程:dp[i][j]=min(dp[i][k]+dp[k+1][j-1],dp[i][j-1]+1)(i≤k<j,a[j]==a[k]) 算的时候i从大到小算,因为算dp[i][j

【HDOJ 1002】A + B Problem II

A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 238517    Accepted Submission(s): 45969 Problem Description I have a very simple problem for you. Given two integers A and B, you

【wikioi 1002】搭桥 dfs+kruskal

题目描述 Description 有一矩形区域的城市中建筑了若干建筑物,如果某两个单元格有一个点相联系,则它们属于同一座建筑物.现在想在这些建筑物之间搭建一些桥梁,其中桥梁只能沿着矩形的方格的边沿搭建,如下图城市1有5栋建筑物,可以搭建4座桥将建筑物联系起来.城市2有两座建筑物,但不能搭建桥梁将它们连接.城市3只有一座建筑物,城市4有3座建筑物,可以搭建一座桥梁联系两栋建筑物,但不能与第三座建筑物联系在一起. 输入描述 Input Description 在输入的数据中的第一行包含描述城市的两个

【HDU5159】【BestCoderRound26.1002】Card

Problem Description There are x cards on the desk, they are numbered from 1 to x. The score of the card which is numbered i(1<=i<=x) is i. Every round BieBie picks one card out of the x cards,then puts it back. He does the same operation for b round

【hdoj 1002】大数加法

题目:传送门 解答:大数(范围超过可表示精度)加法,C++没有java的相应的大数类,直接用字符串模拟.几个小trick: 考虑两个数的长度,可以刚刚开始就将两者顺序调换(加法交换律),使得第一个为更长的数: 字符转换成数字:number = s - '0': 数字转换成字符:s = (char)(number + '0'): 一开始不清楚结果是几位数,可以先倒序模拟,最后再倒序还原. #include <iostream> #include <string> #include &

【网络流】One-Way Roads

[网络流]One-Way Roads 题目描述 In the country of Via, the cities are connected by roads that can be used in both directions. However, this has been the cause of many accidents since the lanes are not separated: The drivers frequently look at their smartphon