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

poj 1985 Cow Marathon

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

poj 1985 Cow Marathon

#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int N=40005;int head[N],nc;struct edge{    int to,cost,next;}edge[N*3];void add(int a,int b,int c){    edge[nc].to=b;edge[nc].next=head[a];edge[nc].cost=c;head[a]=nc++;    edge[nc].to=a;edge[nc].next=head[b];edge[nc].cost=c;head[b]=nc++;}struct data{    int id;    int val;    bool operator<(const data &next)const    {        return val<next.val;    }    data(int _id,int _val){id=_id;val=_val;}    data(){}};int dist[N];bool vis[N],mark[N];priority_queue<data> Q;int diji(int s){    memset(dist,-1,sizeof(dist));    memset(vis,false,sizeof(vis));    dist[s]=0;    while(!Q.empty())        Q.pop();    Q.push(data(s,0));    int id,mm=-1,last=s;    data a;    while(!Q.empty())    {        a=Q.top();        Q.pop();        if(vis[a.id]||dist[a.id]!=a.val) continue;        if(mm<a.val) mm=a.val,id=a.id;        mark[a.id]=vis[a.id]=true;        for(int i=head[a.id];i!=-1;i=edge[i].next)        { int t=edge[i].to; if(!vis[t]&&dist[t]<dist[a.id]+edge[i].cost) {     dist[t]=dist[a.id]+edge[i].cost;     Q.push(data(t,dist[t])); }        }    }    return id;}int main(){    int n,m;    while(scanf("%d%d",&n,&m)!=EOF)    {        memset(head,-1,sizeof(head));        nc=0;        for(int i=0;i<m;i++)        { int a,b,c; char op[3]; scanf("%d%d%d%s",&a,&b,&c,op); add(a,b,c);        }        memset(mark,false,sizeof(mark));        int ans=0;        for(int i=1;i<=n;i++) if(!mark[i])     ans=max(ans,dist[diji(diji(i))]);        printf("%dn",ans);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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