<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      更加深入的了解Floyd

       
      下面來看一道簡單的但是有點意思
      的最短路徑的問題。本次用的解法
      是Floyd.
      題目:http://acm.swust.edu.cn/oj/problem/0819/
      在使用Floyd的時候有三點需要注意:
      一:map[][]數組的初始化
         這個是十分的重要的,不然無法Floyd。具體點就是,map[i][i]=0; map[i][j]=INF;
      二、輸入時候的選擇性
        只有做到這一步,才能保證是最短的,不然不行。具體點就是,if(map[u][v] > w) map[u][v] = map[v][u] = w;
        這個主要用在題目中沒有說明是否會多次輸入同一條邊的時候。
      三、只有一個結點的情況
         毫無疑問輸出結果就是0了,但是一定要把這個給特判一下。不然Wrong。
       
      好了, 不說了, 具體的還是看代碼要好點。
      View Code
      #include "iostream"
      using namespace std;
      #define eMax 505
      #define nMax 105
      #define INF 99999999
      struct edge
      {
          int fir, sec;
      }e[eMax];
      int map[nMax][nMax];
      int n, m;
      void Floyd()
      {
          for(int k=1; k<=n; k++)
              for(int i=1; i<=n; i++)
                  for(int j=1; j<=n; j++)
                      map[i][j] = min(map[i][j], map[i][k]+map[k][j]);
      }
      int main()
      {
          int u, v, w, k;
          while(cin>>n>>m)
          {
              k = 0;
              for(int i=1; i<=n; i++){ //map數組的初始化
                  for(int j=1; j<=n; j++){
                      if(i==j) map[i][j] = 0;
                      else map[i][j] = INF;
                  }
              }
              for(int i=0; i<m; i++){ //輸入時的處理
                  cin>>u>>v>>w;
                  if(map[u][v] > w){
                      map[u][v] = map[v][u]= w;
                      e[k].fir = u; e[k++].sec = v;
                  }
              }
              Floyd();
              int Min = INF;
              for(int i=0; i<k; i++)
              {
                  u = e[i].fir; v = e[i].sec;
                  Min = min(Min, map[1][u]+map[v][n]);
                  Min = min(Min, map[1][v]+map[u][n]);
              }
              if(n==1) cout<<"0"<<endl;
              else if(Min < INF) cout<<Min<<endl;
              else cout<<"-1"<<endl;
          }
      }
      
      

       

       
       

      posted on 2011-11-26 10:46  More study needed.  閱讀(259)  評論(0)    收藏  舉報

      導航

      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      主站蜘蛛池模板: 亚洲精品日韩在线观看| 久久久久免费看黄a片app| 综合色一色综合久久网| 欧美成人黄在线观看| 欧美人与动牲交精品| 国产成人久久777777| 九九热在线观看视频精品| 麻豆一区二区中文字幕| 亚洲人成小说网站色在线| 色av专区无码影音先锋| 岛国大片在线免费播放| 国产乱码日韩亚洲精品成人 | 瑞丽市| 在线看片免费人成视频久网| 一本一道av无码中文字幕麻豆| 日韩av片无码一区二区不卡| 性XXXX视频播放免费直播| 同性男男黄gay片免费| 伊人久久大香线蕉综合观| 色婷婷综合久久久中文字幕| 自拍偷拍视频一区二区三区| 欧美成人精品三级在线观看| 午夜成人无码免费看网站| 亚洲香蕉免费有线视频| 国产迷姦播放在线观看| 青青草原国产精品啪啪视频| 国产精品午夜无码AV天美传媒| 久久综合精品成人一本| 无码人妻丝袜在线视频| 丰满少妇被猛烈进出69影院| 天堂а√在线地址中文在线| 一本色道久久东京热| 免费人妻无码不卡中文字幕18禁| 自拍偷自拍亚洲精品播放| 男女啪啪18禁无遮挡激烈| 亚洲最大日韩精品一区| 免费无码又爽又刺激高潮虎虎视频| 国产一区精品综亚洲av| 日韩有码中文字幕国产| 怀集县| 国产永久免费高清在线观看|