zoukankan      html  css  js  c++  java
  • hdu(1596)

    dijkstra
    1 #include"iostream"
    2 using namespace std;
    3 double map[1010][1010];
    4 int visit[1010];
    5 double used[1010];
    6 int k;
    7 double _max=0;
    8 int i,j;
    9 int n,m,a,b;
    10 int main()
    11 {
    12
    13 while(scanf("%d",&n)!=EOF)
    14 {
    15 memset(map,0,sizeof(map));
    16 for(i=1;i<=n;i++)
    17 for(j=1;j<=n;j++)
    18 scanf("%lf", &map[i][j]);
    19
    20 scanf("%d",&m);
    21 for(i=0;i<m;i++)
    22 {
    23
    24 scanf("%d%d",&a,&b);
    25
    26 for(int p=1; p<=n; p++)
    27 {
    28 visit[p]=0;
    29 used[p]=0;
    30 }
    31 used[a]=1;
    32
    33 for(int q=1; q<=n; q++ )
    34 {
    35 _max=0;
    36 for(int s = 1; s<=n; s++)
    37 {
    38 if(!visit[s] && used[s]>_max)
    39 {
    40 _max = used[s];
    41 k=s;
    42 }
    43 }
    44 visit[k]=1;
    45 for(int p=1;p<=n;p++)
    46 {
    47 if(map[k][p]>0 && used[k]*map[k][p]>used[p])
    48 used[p]=used[k]*map[k][p];
    49 }
    50 }
    51 if(used[b]==0) printf("What a pity!\n");
    52 else printf("%.3lf\n",used[b]);
    53 }
    54 }
    55 return 0;
    56 }
    folyd
    /* for(k=1;k<=n;k++)
    {
    for(i=1;i<=n;i++)
    {
    for(j=1;j<=n;j++)
    if(map[i][k]*map[k][j]>map[i][j])
    {
    map[i][j]=map[i][k]*map[k][j];
    map[j][i]=map[i][k]*map[k][j];
    }
    }
    }
    */
  • 相关阅读:
    Python Virtualenv 虚拟环境
    二叉树的左视图和右视图
    Vxlan简介
    2、程序的基本结构
    chef cookbook 实战
    eclipse 搭建ruby环境
    linux 安装软件出现/tmp 磁盘不足时 解决方案
    Python 可变对象与不可变对象
    Chapter 4-5
    Chapter 3
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/1991616.html
Copyright © 2011-2022 走看看