亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dijkstra.cpp

?? dijkstra算法
?? CPP
字號:
#include <cstdio>
#include <algorithm>
#include <cassert>
#include <iostream>
#include <cmath>
#include <ctime>
#include <bitset>
#include <stdlib.h>
#include <stddef.h>
#include <float.h>


#define input "Dijkstra.in"      //Input file name
#define output "Dijkstra.out" 

#define infinity 1000000      // a big int
#define max_vertexes 10000
using namespace std;

typedef int Graph[max_vertexes][max_vertexes];           // the max count of vertexes

FILE *fin,*fout;
int probN,n,s,t=0;
Graph A;

int read_case()
{
   int i,j,k,m,tmp;
   if (feof(fin)) return 0;
   fscanf(fin,"%d %d",&n,&m);
   if (n==0) return 0;
   probN++;
   fscanf(fin,"%d %d",&s,&t);
   s--;t--;
   for (i=0;i<n;i++)
      for (j=0;j<n;j++)
         A[i][j]=infinity;
   printf("Graph %d:\n",probN);
   fprintf(fout,"Graph %d:\n",probN);
   for (k=0;k<m;k++)
   { fscanf(fin,"%d %d %d",&i,&j,&tmp);
     fprintf(fout,"V(%d)-V(%d):%d\n",i,j,tmp);
     printf("V(%d)-V(%d):%d\n",i,j,tmp);
     A[i-1][j-1]=tmp;
    }
   return 1;
}

int rand_num(int no[],int NUM )
{
    int cont[NUM];
    int index, i;
    for (i=0; i<NUM; i++)
    cont[i] = i;
    srand((int)time(0));
    for (i=0; i<NUM; i++) {
        index = (int)((float)(NUM-i) * rand() / (RAND_MAX+1.0));
        no[i]=cont[index];
        cont[index] = cont[NUM-1-i];
    }
}
int input_main()
{
    int pr,su,m=0;
    div_t tmp;
    printf("Combien sommet:");
    cin>>n;
    printf("Combien arc:");
    cin>>m;
    fprintf(fout,"\nAleatoire......:\nNombre de sommets:%d\n",n);
    printf("\nAleatoire......:\nNombre de sommets:%d\n",n);
    fprintf(fout,"Nombre d'arcs:%d\n",m);    
    printf("Nombre d'arcs::%d\n",m);
    s=0;t=n-1;
    int no1[m],no2[n];
    for (int i=0;i<n;i++)
      for (int j=0;j<n;j++)
         A[i][j]=infinity;
    rand_num(no1,m);
    rand_num(no2,n);
    srand((int)time(0));
    for (int k=0;k<m;k++)
    {
        tmp=div(no1[k],n);
        pr=int(tmp.rem);
        tmp=div((no2[k]+pr),n);
        su=int(tmp.rem);
        A[pr][su]=1 + (int)((float)100*rand() / (RAND_MAX + 1.0));
        fprintf(fout,"V(%d)-V(%d):%d\n",pr,su,A[pr][su]);
    }
}    
    
           
int path[max_vertexes],d[max_vertexes],mark[max_vertexes];

int Dijkstra()
{

    int i,j,w,minc;
    for (i=0;i<n;i++) mark[i]=0;
    for (i=0;i<n;i++)
        {   d[i]=A[s][i];
            path[i]=s;	}
    mark[s]=1;path[s]=0;d[s]=0;
    for (i=1;i<n;i++)
		{   minc=infinity;
          w=0;
          for (j=0;j<n;j++)
            if ((mark[j]==0)&&(minc>=d[j])) {minc=d[j];w=j;}
          mark[w]=1;
          for (j=0;j<n;j++)
            if ((mark[j]==0)&&(A[w][j]!=infinity)&&(d[j]>d[w]+A[w][j]))
                {   d[j]=d[w]+A[w][j];
                    path[j]=w;     }
      }
    return 1;
}

void print()
{
     fprintf(fout,"-----------------------------------------------------------\n");
     fprintf(fout,"Le plus court chemin entre la source et le sommet courant:\n");
     fprintf(fout,"-----------------------------------------------------------\n");
     printf("-----------------------------------------------------------\n");
     printf("Le plus court chemin entre la source et le sommet courant:\n");
     printf("-----------------------------------------------------------\n");
     for (int j=1;j<n;j++)
     {   
         int i=j;      
         while (i!=s)
               {
                     fprintf(fout,"%d<--",i+1);
                     printf("%d<--",i+1);
                     i=path[i];
               }
         fprintf(fout,"%d:%d\n",s+1,d[j]);
         printf("%d:%d\n",s+1,d[j]);
     }
}     
void solve_case()
{
    int i;
    time_t start,end;
    start=clock();
    Dijkstra();
    end=clock();
    print();
    fprintf(fout,"Le plus court chemin :");
    printf("Le plus court chemin :");
    i=t;
    while (i!=s)
    {
    fprintf(fout,"%d<--",i+1);
    printf("%d<--",i+1);
    i=path[i];
    }
    fprintf(fout,"%d\n\n",s+1);
    printf("%d\n\n",s+1);
    fprintf(fout,"Le temps d'execution:%f\n\n",difftime(end,start));
    printf("Le temps d'execution:%f\n\n",difftime(end,start));
}

void solve_case_input()
{
    int i;
    time_t start,end;
    start=clock();
    Dijkstra();
    end=clock();
    fprintf(fout,"-----------------------------------------------------------\n");
    fprintf(fout,"Le plus court chemin entre la source et le sommet courant:\n");
    fprintf(fout,"-----------------------------------------------------------\n");
    for (int j=1;j<n;j++)
    {   
        int i=j;      
        while (i!=s)
              {
                    fprintf(fout,"%d<--",i+1);
                    i=path[i];
              }
        fprintf(fout,"%d:%d\n",s+1,d[j]);
    }
    fprintf(fout,"Le plus court chemin :\n");
    printf("Le plus court chemin :\n");
    i=t;
    while (i!=s)
    {
    fprintf(fout,"%d<--",i+1);
    printf("%d<--",i+1);
    i=path[i];
    }
    fprintf(fout,"%d\n",s+1);
    printf("%d\n",s+1);
    fprintf(fout,"Le temps d'execution:%f ms\n",difftime(end,start)/1000);
    printf("Le temps d'execution:%f ms\n",difftime(end,start)/1000);
}

int main()
{
   char ch;
   while (1)
   {
   printf("\n1.Démonstration avec les paramètres importé ;\n2.Entrez les parametres à la main\n");
   printf("Quel choix vous désirez :");
   cin>>&ch;
    switch(ch)
    {
             case '1':
                  assert(fin=fopen(input,"r"));
                  assert(fout=fopen(output,"w"));   
                  while (read_case()) solve_case();
                  fclose(fin);
                  fclose(fout);
                  break;
                   
             case '2':
                  assert(fin=fopen(input,"r"));
                  assert(fout=fopen(output,"w"));  
                  input_main();
                  solve_case_input();
                  fclose(fin);
                  fclose(fout); 
                  break;
                  
             default:
                  printf("Input erreur\n");
                  break;
    } 
   }          
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲另类在线一区| 丝袜美腿成人在线| 轻轻草成人在线| 成人黄动漫网站免费app| 欧美色涩在线第一页| 久久免费看少妇高潮| 午夜日韩在线电影| 9i在线看片成人免费| 久久久久久久久久看片| 午夜精品久久久久久久久久久| 99精品国产视频| 国产欧美日本一区二区三区| 麻豆精品视频在线| 欧美私人免费视频| 亚洲品质自拍视频| av爱爱亚洲一区| 国产精品天天摸av网| 国产美女久久久久| 精品国产一区二区三区忘忧草| 视频在线观看国产精品| 欧美日韩一区二区电影| 亚洲乱码中文字幕| 91污片在线观看| 国产精品久久久久国产精品日日 | 另类欧美日韩国产在线| 色婷婷精品久久二区二区蜜臀av| 国产精品激情偷乱一区二区∴| 国产91精品入口| 欧美激情一区二区三区蜜桃视频 | 精品日韩在线一区| 青青国产91久久久久久| 欧美巨大另类极品videosbest| 悠悠色在线精品| 91福利视频网站| 亚洲一区二区三区精品在线| 日本高清视频一区二区| 一区二区三区国产精品| 欧洲一区二区av| 亚洲成人免费影院| 欧美一三区三区四区免费在线看| 免费一级欧美片在线观看| 欧美一区二区黄色| 国产麻豆精品在线| 国产精品久久久久婷婷二区次| 成人精品视频网站| 亚洲老妇xxxxxx| 制服丝袜一区二区三区| 激情文学综合网| 欧美极品xxx| 色婷婷香蕉在线一区二区| 亚洲国产精品影院| 欧美一级在线观看| 国产成都精品91一区二区三| 亚洲欧美一区二区三区极速播放| 欧美在线观看视频在线| 另类小说综合欧美亚洲| 中文字幕不卡在线| 91视频观看免费| 秋霞国产午夜精品免费视频| 国产夜色精品一区二区av| 91免费小视频| 久久se这里有精品| 国产精品网站在线播放| 欧美高清视频不卡网| 国产一区二区女| 亚洲国产精品欧美一二99| 日韩一级黄色大片| av中文字幕不卡| 免费在线成人网| 亚洲日本电影在线| 精品sm捆绑视频| 色婷婷久久一区二区三区麻豆| 蜜乳av一区二区| 尤物在线观看一区| 久久综合久久综合九色| 91久久精品一区二区三| 国产乱子伦视频一区二区三区 | 欧美日韩中字一区| 国产一区二区主播在线| 午夜激情综合网| 国产精品国产三级国产aⅴ原创| 欧美精品日韩一本| 高清在线不卡av| 奇米精品一区二区三区在线观看| |精品福利一区二区三区| 日韩网站在线看片你懂的| 色94色欧美sute亚洲线路一久| 全国精品久久少妇| 一区二区三区毛片| 国产精品久久久久毛片软件| 日韩欧美卡一卡二| 欧美性受xxxx| 色播五月激情综合网| 国产成人av电影在线观看| 久久不见久久见免费视频7| 天堂在线一区二区| 亚洲女人小视频在线观看| 国产欧美日韩视频在线观看| 欧美电视剧免费观看| 在线精品视频小说1| 波波电影院一区二区三区| 国产一级精品在线| 韩国毛片一区二区三区| 毛片一区二区三区| 欧美中文一区二区三区| 精品一区二区三区av| 亚洲成a人v欧美综合天堂| 亚洲男人的天堂在线aⅴ视频| 国产精品日韩成人| 亚洲国产精品成人综合| 国产欧美精品国产国产专区 | 久久99精品国产麻豆不卡| 舔着乳尖日韩一区| 亚洲一区二区三区视频在线 | 91精品婷婷国产综合久久性色| 欧美色图天堂网| 欧美体内she精视频| 在线视频一区二区免费| 欧美日韩激情在线| 欧美日韩一区高清| 欧美福利一区二区| 91精品国产综合久久香蕉的特点 | 欧美日韩免费视频| 欧美老女人在线| 欧美少妇bbb| 精品免费视频一区二区| 久久久久国产一区二区三区四区| 国产精品日产欧美久久久久| 亚洲天堂网中文字| 亚洲国产另类精品专区| 蜜臀久久99精品久久久久宅男| 激情五月婷婷综合网| 成人性色生活片| 91久久一区二区| 日韩免费观看2025年上映的电影 | 婷婷久久综合九色综合绿巨人| 日韩二区三区四区| 国产一区二区三区四区五区美女| 国产精品 日产精品 欧美精品| 色综合久久天天| 日韩一区二区精品在线观看| 国产精品素人一区二区| 一区二区欧美国产| 九九精品一区二区| 成人不卡免费av| 欧美精品自拍偷拍| 欧美精品一区二区久久婷婷| 国产精品久久久久久妇女6080| 亚洲国产成人porn| 国产在线国偷精品产拍免费yy| 色综合久久天天| 久久这里只精品最新地址| 亚洲天天做日日做天天谢日日欢 | 国产午夜精品在线观看| 亚洲午夜一二三区视频| 国内精品写真在线观看| 91久久精品网| 久久久国际精品| 一区二区高清免费观看影视大全| 久久se这里有精品| 在线观看日韩一区| 久久久久国产精品人| 五月激情六月综合| 9人人澡人人爽人人精品| 日韩欧美一二三| 亚洲最大色网站| 波多野结衣一区二区三区| 日韩欧美一区二区在线视频| 亚洲三级在线播放| 国产乱码精品一区二区三| 88在线观看91蜜桃国自产| 国产精品电影一区二区三区| 精品一区在线看| 欧美三级中文字幕在线观看| 国产精品色婷婷久久58| 另类中文字幕网| 欧美一区二区三区免费| 亚洲国产中文字幕在线视频综合| 不卡一区中文字幕| 亚洲国产精品ⅴa在线观看| 理论电影国产精品| 欧美日韩亚洲综合在线 | 亚洲欧洲日产国码二区| 国内精品久久久久影院薰衣草 | 国产一区二区三区在线观看免费| 欧美日韩高清影院| 亚洲一区二区免费视频| 91在线视频在线| 国产精品成人在线观看| 粉嫩一区二区三区在线看| 久久嫩草精品久久久精品一| 国内精品在线播放| 精品成人佐山爱一区二区| 久久精品国产亚洲高清剧情介绍| 在线播放国产精品二区一二区四区 | 精品少妇一区二区三区视频免付费| 日韩制服丝袜先锋影音| 欧美日本视频在线| 日日摸夜夜添夜夜添精品视频| 欧美日韩成人综合在线一区二区|