栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3594 Escort of Dr. Who How

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 3594 Escort of Dr. Who How

#include <stdio.h>#include <string.h>#include <queue>#include <vector>#include <algorithm>using namespace std;#define INF 100000000#define N 101struct node{    int u,d,s,e;    node(int a = 0,int b = 0,int c = 0,int f = 0)    {        u = a;        d = b;        s = c;        e = f;    }}p;vector<node> g[N];int vis[N],d[N],n,m,src,dst;bool operator<(const node &pp,const node &pt){    return pp.d > pt.d;}int dij(int t){    int i;    memset(vis,0,sizeof(vis));    for(i = 0; i <= n; ++i)        d[i] = INF;    p = node(src,t);    d[src] = t;    priority_queue<node> que;    que.push(p);    int u,v,w;    while(!que.empty())    {        p = que.top();        que.pop();        u = p.u;        if(vis[u]) continue;        vis[u] = 1;        if(u == dst) return d[u] - d[src];        for(i = 0; i < g[u].size(); ++i)        { v = g[u][i].u; w = g[u][i].d; if(d[u] < g[u][i].s) {     if(g[u][i].s + w < d[v])     {         d[v] = g[u][i].s + w;         que.push(node(v,d[v]));     } } else if(d[u] + w <= g[u][i].e && d[u] + w < d[v]) {     d[v] = d[u] + w;     que.push(node(v,d[v])); }        }    }    return INF;}int main(){    int x,y,s,e,c,mint,maxt;    while(scanf("%d%d%d%d",&n,&m,&src,&dst) != EOF)    {        mint = INF;        maxt = 0;        memset(g,0,sizeof(g));        while(m--)        { scanf("%d%d%d%d%d",&x,&y,&s,&e,&c); if(e - s + 1 < c)     continue; g[x].push_back(node(y,c,s,e)); if(x == src) {     mint = min(mint,s);     maxt = max(maxt,s); }        }        int res = INF,tmp;        for(x = mint; x <= maxt; ++x)        { tmp = dij(x); if(tmp == INF)     break; res = min(res,tmp);        }        printf(res == INF ? "Impossiblen":"%dn",res);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375019.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号