记录编号 42678 评测结果 AAAAWAWA
题目名称 旅行计划 最终得分 75
用户昵称 Gravatar鷐栩 是否通过 未通过
代码语言 C++ 运行时间 0.009 s
提交时间 2012-09-27 22:12:03 内存使用 4.08 MiB
显示代码纯文本
#include<iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;

struct Node
{
    int qi;    
    int z;
    int q;
}z[100001];
int d[100001],p[10001],n,m,v;
void fun(int x)
{
    if(p[x]!=v)
    {
        fun(p[x]);
    }
    cout<<x<<' ';
    return ;
}
void bel()
{
    int i,j;
    bool x=0;
    for(i=0;i<n;i++)
    {
        d[i]=99999;
        p[i]=v;
    }
   d[v]=0;
    for(i=0;i<n;i++)
    {
        x=0;
        for(j=0;j<m;j++)
            if(d[z[j].qi]!=99999&&d[z[j].z]>d[z[j].qi]+z[j].q)
            {
                p[z[j].z]=z[j].qi;
                d[z[j].z]=d[z[j].qi]+z[j].q;
                x=1;
            }
        if(x==0)break;
    }
    return ;
}
int main()
{
       freopen("djs.in","r",stdin);
    freopen("djs.out","w",stdout);
    int i;
    scanf("%d%d%d",&n,&m,&v);
   // cin>>n>>m>>v;
    for(i=0;i<m;i++)
//        cin>>z[i].qi>>z[i].z>>z[i].q;
    scanf("%d%d%d",&z[i].qi,&z[i].z,&z[i].q);
    bel();
     for(i=0;i<n;i++)
    {
        cout<<i<<':'<<endl; 
        if(d[i]==99999||i==v)
            cout<<"no"<<endl;
        else
        {
            cout<<"path:"<<v<<' ';
            fun(i);
            cout<<endl<<"cost:"<<d[i]<<endl;
        }
    }
     /*   for(i=0;i<n;i++)
    {
        cout<<p[i]<<' '<<d[i] <<' ' <<i <<endl;
         
    }*/
    
    //system("pause");
    return 0;
}