zoukankan      html  css  js  c++  java
  • POJ1502 MPI Maelstrom

    http://poj.org/problem?id=1502

    第一篇C++代码

    学到几个函数:括号里边都是数组名

    atof()             将字符串转换成浮点数值 
    atoi()                 将字符串转换成整数值 
    atol()                 将字符串转换成长整数值 
    strtod()             将字符串转换成双精度型数值 
    strtol()             将字符串转换成长型数值 

    用迪杰斯特拉求最短路中的最大值

    #include<iostream>
    #include<cstring>
    using namespace std;
    int G[102][102],dis[102];

    void dijs(int n)
    {
     int k,i,j,t,min;
     int visit[102]={0};
     visit[1]=1;
     for(i=1;i<n;++i)
     {
      k=1;
      min=0x3fffffff;
      for(j=1;j<=n;++j)
      {
       if(!visit[j]&&min>dis[j])
       {
        k=j;
        min=dis[j];
       }
      }
      visit[k]=1;
      for(t=1;t<=n;++t)
      {
       if(!visit[t]&&(min+G[k][t]<dis[t]))
        dis[t]=min+G[k][t];
      }
     }
    }

    int main()
    {
     int n,i,j,time;
     while(cin>>n)
     {
      char ch[20];
      for(i=1;i<=n;++i)
        G[i][i]=0;
      for(i=2;i<=n;++i)
       for(j=1;j<i;++j)
       {
        cin>>ch;
        if(!strcmp(ch,"x"))
         G[i][j]=G[j][i]=0x3fffffff;
        else
         G[i][j]=G[j][i]=atoi(ch);
       }
      for(i=1;i<=n;++i)
       dis[i]=G[1][i];
      dijs(n);
      time=0;
      for(i=1;i<=n;++i)
      {
       if(time<dis[i])
        time=dis[i];
      }
      cout<<time<<endl;
     }
     return 0;
    }

    功不成,身已退
  • 相关阅读:
    python学习day7
    python学习day4
    python 学习day6(面向对象)
    python 学习day5(模块)
    python学习之正则表达式
    python作业day4计算器
    python作业day3修改配置文件
    Python作业day2购物车
    python学习day2(二)
    操作系统 银行家算法
  • 原文地址:https://www.cnblogs.com/dongsheng/p/2540701.html
Copyright © 2011-2022 走看看