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

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

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

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

      Dijkstra解決POJ 2263

       

      題目:http://poj.org/problem?id=2263

      題目大意:有n個城市,r條連接兩個城市的道路,每條道路有自己的最大復載量。現在問從城市cst到城市cen,車上的最大載重能為多少。

       
      雖然是提交了,也搞懂了,但是還沒有徹底的明白。
      因此,也不便多說什么,當我徹底明白的時候再說吧。
       
      呵呵,終于完全的明白了,下面指出一二。
      1.一定要明白map[][]的雙關性何為雙關
        (1).map[i][j]表示i到j的距離
        (2).map[i][j]=0表示i到j不可以直接可達
        要達到這種效果,首先將map[][]全部賦值為0,
        然后存儲建圖,在建圖的過程中自然的將直接可達
        的兩點賦值為不是0的值了。
      2.一定要明白dis[]是干什么用的,是干什么用的呢?
        dis[i]是用來存儲要求解的start點到i的最優解的。
        一旦求出,將不會改動。當i=end的時候,也就是得到
        答案的時候。
      3.一定要明白visited[]是干什么用的,干什么用的?
       當visited[i]=0,表示i點并沒有加入到已經解出的
        集合中,也就是說,下次循環的時候是要訪問的對象。
        當visited[i]=1,表示i點已經加入到了解出的集合
        中,下次循環的時候,不能再次訪問它了。
      好了,就這些了,多了沒有,不信你還是不懂!
      View Code
      #include "iostream"
      using namespace std;
      char name[201][500];
      int map[201][201];  ////用來存儲圖,map[i][j]用來表示權值,也就是距離了——i到j的距離
      int visited[201];  //用來表示某個頂點是否加入到頂點的集合
      int dis[201];  //dis[i]用來表示距離——start點到i點的距離
      int begin, end, sum;
      int Min(int a, int b)
      {
          return a>b?b:a;
      }
      int Str_Int(char name1[]) //將字符串轉化成一定的數字
      {
          int i;
          for(i=0; i<sum; i++)
              if(strcmp(name1, name[i])==0)
                  return i+1;
          strcpy(name[sum++], name1);  
          return sum;
      }
      int Dijkstra(int n)
      {
          memset(visited, 0, sizeof(visited));
          memset(dis, 0, sizeof(dis));
          int now = begin, count = n-1, i;  //count是個細節
          visited[begin] = 1;
          dis[begin] = 999999;  //這個十分的關鍵喲,不然下面的for循環無法工作
          while(count--)
          {
              int k, maxdistance = 0;
              for(i=1; i<=n; i++)
              {
                  if(!visited[i])  //沒有加入集合的話,就訪問它
                  {
                      if(map[now][i]!=0)  //兩點可以直接到達的話
                          if(dis[i] < Min( dis[now], map[now][i]))
                                //dis[i]不可以比dis[now]更大,但是可以更小,所以用Min
                              dis[i] = Min(,dis[now], map[now][i]);
                      if(maxdistance < dis[i])
                          maxdistance = dis[k=i];  //k用來存儲距離now最短的頂點
                  }
              }
              if(k==end)    break;
              visited[now=k] = 1;  //將k放入集合中,并以k為下一個now,再次尋找下一個距離now最短的頂點
          }
          return dis[end];
      }
      int main()
      {
          int n, r, i, node1, node2, val;
          char name1[200], name2[200];
          char st[200], en[200];
          int k=0;
          while(cin>>n>>r && (n+r))
          {
              k++;
              sum = 0;
              memset(name, 0, sizeof(name));
              memset(map, 0, sizeof(map));
              for(i=0; i<r; i++)
              {
                  cin>>name1>>name2>>val;
                  node1 = Str_Int(name1);
                  node2 = Str_Int(name2);
                  map[node1][node2]=map[node2][node1]=val;
              }
              cin>>st>>en;
              begin = Str_Int(st);
              end = Str_Int(en);
              cout<<"Scenario #"<<k<<endl<<Dijkstra(n)<<" tons"<<endl<<endl;
          }
          return 0;
      }
      
      

       

       

      posted on 2011-10-03 22:21  More study needed.  閱讀(1213)  評論(2)    收藏  舉報

      導航

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

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

      主站蜘蛛池模板: 综合久久婷婷综合久久| 五月综合激情婷婷六月| 2020国产欧洲精品网站| 亚洲天堂一区二区成人在线| 亚洲色大成网站WWW永久麻豆| 99精品热在线在线观看视| 国产一级黄色片在线观看| 亚洲另类无码一区二区三区| 福利一区二区在线播放| 亚洲精品一二三四区| 国产精成人品日日拍夜夜| 國產尤物AV尤物在線觀看| 欧美性猛交xxxx免费看| 午夜福利精品一区二区三区| 天天做天天爱夜夜爽| 性XXXX视频播放免费直播| 国产日本一区二区三区久久| 欧美大片va欧美在线播放| 国产永久免费高清在线| 日本丶国产丶欧美色综合| 幻女free性俄罗斯毛片| 日韩国产精品中文字幕| 97碰碰碰免费公开在线视频| 久热这里有精彩视频免费| 亚洲午夜伦费影视在线观看| 99福利一区二区视频| 元码人妻精品一区二区三区9 | 久久亚洲精品人成综合网| 密山市| 章丘市| 人妻聚色窝窝人体WWW一区| 亚洲男女羞羞无遮挡久久丫| 人妻激情偷乱一区二区三区| 亚洲国产在一区二区三区| 国产性色的免费视频网站| 免费观看欧美猛交视频黑人| 欧洲无码一区二区三区在线观看| 秋霞人妻无码中文字幕| 亚洲精品动漫免费二区| 国产一区二区亚洲一区二区三区| 亚洲av永久无码精品成人|