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

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

?? xunlu2hi.cpp

?? 數學建模98B 題災情巡視路線求解程序(多旅行商)
?? CPP
字號:
#include "iostream.h"
#include<stdio.h>
#include<conio.h>


#define  M   17
#define  M1  53
#define  large 10000
#define  NN  150000
#define MAX 10000.0

float d[M1][M1];
unsigned char P[M1][M1][15];
int num[M1][M1];


float simple(float **a)
{int k1 ,k2;
float r,r1,rr=0;
	for(k1=0;k1<M;k1++)
	{r=a[k1][0];	
		for(k2=1;k2<M;k2++)
		if(a[k1][k2]<r)r=a[k1][k2];
		if(r!=large)
		{rr=rr+r;
		for(k2=0;k2<M;k2++)
		if(a[k1][k2]!=large)a[k1][k2]-=r;
		}
	}
    for(k1=0;k1<M;k1++)
	{r1=a[0][k1];	
		for(k2=1;k2<M;k2++)
		if(a[k2][k1]<r1)r1=a[k2][k1];
		if(r1!=large)
		{rr=rr+r1;
		for(k2=0;k2<M;k2++)
		if(a[k2][k1]!=large)a[k2][k1]-=r1;
		}
	}
return rr;
}

long int *use(float **a)
{ int k1 ,k2,r1,c1,r=0,c=0;
  float  l1[M],l2[M],l=-1;
  long int *p,p1[2];
 for(k1=0;k1<M;k1++)
 { l1[k1]=a[k1][0];r1=-1;
	 for(k2=0;k2<M;k2++)
	 if(a[k1][k2]==0) 		 
		 if(r1==-1) r1=0;
		else     {l1[k1]=0;break;}
	 else if(a[k1][k2]<l1[k1])
			{l1[k1]=a[k1][k2];}
  }
 for(k2=0;k2<M;k2++)
 {l2[k2]=a[0][k2];c1=-1;
    for(k1=0;k1<M;k1++)
		if(a[k1][k2]==0)
			if(c1==-1)c1=0;
			else      {l2[k2]=0;break;}
	     else if(a[k1][k2]<l2[k2])
		 {l2[k2]=a[k1][k2];}
 }
for(k1=0;k1<M;k1++)
    for(k2=0;k2<M;k2++)
	if(a[k1][k2]==0&&(l1[k1]+l2[k2]>l))
	{r=k1;c=k2;l=l1[k1]+l2[k2];}
 p1[0]=r;p1[1]=c;
 p=p1;
 return p;
}

void main()
{FILE *pp=fopen("E:\\共享資料庫\\temp\\distance.doc","r");
 long int i,j,k1,k2,k,E,N,ans,x,*p,k3,k4,k5,y;
 //int  bb[53]={50,38,2,3,39,4,5,6,7,8,40,9,41,10,11,42,12,43,13,14,15,44,45,16,17,18,19,46,20,21,47,48,22,23,24,49,25,26,27,28,51,53,29,52,30,31,32,33,34,35,36,37,1};
 int  gama=0,*cen,*ET1[2],**ET,vv[M][2];
// int	bb[53]={50,38,2,3,39,4,5,6,47,19,45,7,8,40,9,41,10,11,42,12,43,13,14,15,44,16,17,18,46,20,21,48,22,23,24,49,25,26,51,27,28,53,29,52,30,31,32,33,34,35,36,37,1};//
 //int bb[53]={50,38,3,39,4,45,7,8,40,9,41,10,11,42,12,43,13,14,15,44,16,17,18,46,2,5,6,47,19,20,21,48,22,23,24,49,25,26,51,27,28,53,29,52,30,31,32,33,34,35,36,37,1};
 //int	bb[53]={50,38,3,39,4,8,40,9,41,10,42,12,43,14,15,44,16,17,22,23,24,49,26,51,2,5,6,47,19,45,7,11,13,18,46,20,21,48,25,27,28,53,29,52,30,31,32,33,34,35,36,37,1};//
 //int	bb[53]={50,38,2,3,39,4,5,6,47,19,45,7,8,40,9,41,10,11,42,12,43,13,14,15,44,16,17,18,46,20,21,48,22,23,24,49,25,26,51,27,28,53,29,52,30,31,32,33,34,35,36,37,1};//
 int bb[53]={50,38,3,39,4,7,8,40,9,41,10,11,42,12,43,13,14,15,44,16,17,18,46,2,5,6,47,19,45,20,21,48,22,23,24,49,25,26,51,27,28,53,29,52,30,31,32,33,34,35,36,37,1};
// int	bb[53]={50,2,3,39,4,5,6,47,19,45,7,8,40,9,41,10,11,42,12,43,13,14,15,44,16,17,18,46,20,21,48,22,23,24,49,25,26,51,27,28,53,29,52,30,31,32,33,34,35,36,37,38,1};//
//2,3kuai int	bb[53]={50,2,3,39,4,5,6,47,19,45,7,8,40,9,41,10,11,42,12,43,13,14,15,44,16,17,18,46,20,21,48,22,23,24,49,25,50,26,51,27,28,53,29,52,30,31,32,33,34,35,36,37,1};//

 //int bb[53]={50,3,7,27,39,4,5,6,17,53,29,31,8,20,40,9,41,52,30,10,11,42,12,38,2,28,43,13,14,15,44,47,19,16,45,18,46,21,48,22,23,24,49,25,26,51,32,33,34,35,36,37,1};//
long int *parent,*L;
 float *C,*r,U,xia,**A[NN],**A3,**A4,*A1,*A2,r1;
 int v1,v2,dump;
 float dis;
 int n=M1;
 int l,m; 
  C=new float[NN];
  r=new float[NN];
  parent=new long int[NN];
  cen=new  int[NN];
  L=new long int[NN];
  ET1[0]=new   int[NN];
  ET1[1]=new  int[NN];
  ET=ET1;
  
 // ET=new long int*[NN];

for(i=0;i<n;i++)
  for(j=0;j<n;j++)
    {
     if(i==j)  { d[i][j]=0.0;num[i][j]=0; }
     else
	  {
	   d[i][j]=MAX+1.0;
	  }
    }
for(i=0;i<91;i++)
 {
  fscanf(pp,"%c%d,%d,%f%c",&dump,&v1,&v2,&dis,&dump);
  fscanf(pp,"%c%d,%d,%f%c",&dump,&v1,&v2,&dis,&dump);
  d[v1-1][v2-1]=d[v2-1][v1-1]=dis;
  if(d[v1-1][v2-1]<MAX)
      {
      P[v1-1][v2-1][0]=v1;P[v1-1][v2-1][1]=v2;num[v1-1][v2-1]=2;
      P[v2-1][v1-1][0]=v2;P[v2-1][v1-1][1]=v1;num[v2-1][v1-1]=2;
      }
 }
fclose(pp);

for(k=0;k<n;k++)
  for(i=0;i<n;i++)
     for(j=0;j<n;j++)
       if(d[i][k]+d[k][j]<d[i][j])
	  {
	   d[i][j]=d[i][k]+d[k][j];
	   num[i][j]=num[i][k]+num[k][j]-1;
	   for(l=0;l<num[i][k];l++) P[i][j][l]=P[i][k][l];l--;
	   for(m=1;m<num[k][j];m++)  P[i][j][l+m]=P[k][j][m];
	  }
for(i=0;i<n;i++)
 d[i][i]=large;

gama=36;
A3=new float*[M];
for(k1=0;k1<M;k1++)
{ A1=new float[M];
		 for(k2=0;k2<M;k2++)
		 {if(k1!=0)
				if(k2!=0)A1[k2]=d[bb[k1+gama]-1][bb[k2+gama]-1];
				else     A1[k2]=d[bb[k1+gama]-1][bb[k2]-1];
		 else   if(k2!=0)  A1[k2]=d[bb[k1]-1][bb[k2+gama]-1];
				else       A1[k2]=d[bb[k1]-1][bb[k2]-1];  
		 }
	A3[k1]=A1;
}
A[0]=A3;

/*printf("The shortest distance:\n\t");
for(i=48;i<M;i++)  printf("%d\t",i+1); printf("\n");
for(i=0;i<M1;i++)
  {
  printf("%d\t",i+1);
  for(j=0;j<M1;j++) printf("%.1f\t",d[i][j]);
  printf("\n");
  }*/
printf("The shortest distance:\n\t");
for(i=0;i<M;i++)  printf("%d\t",i+1); printf("\n");
for(i=0;i<M;i++)
  {
  printf("%d\t",i+1);
  for(j=0;j<M;j++) printf("%.1f\t",A[0][i][j]);
  printf("\n");
  }
 
r1=simple(A[0]);

 //for(k1=0;k1<M;k1++)
 //parent[k1][0]=-1;
 parent[0]=-1;
 E=0;U=large;
k=0;cen[E]=0;
C[0]=r1;N=0;
ET[0][0]=0;ET[1][0]=0;
 while(C[E]<U)
 {
	 p=use(A[E]);
	 i=p[0];j=p[1];
	 if(i==j) cout<<"good"<<endl;
	 parent[N+1]=E;parent[N+2]=E;
	 ET[0][N+1]=i;ET[1][N+1]=j;
	 ET[0][N+2]=0;ET[1][N+2]=0;
	 if(ET[0][E]!=ET[1][E]||E==0)  {cen[N+1]=cen[E]+1;cen[N+2]=cen[E]+1;}
	 else							{cen[N+1]=cen[E];cen[N+2]=cen[E];}
//	 A[N+1]=copy(A[E]);A[N+2]=copy(A[E]);
	 A4=new float*[M];
	for(k1=0;k1<M;k1++)
	 {
		 A2=new float[M];
		 for(k2=0;k2<M;k2++)
		 {A2[k2]=A[E][k1][k2];}
		 A4[k1]=A2;
	 }
	 A[N+2]=A4;
	 k1=N+1;k2=0;
	vv[k2][0]=ET[0][k1];vv[k2][1]=ET[1][k1];
	while(parent[k1]!=0)
	 {k1=parent[k1];
	  if(ET[0][k1]!=ET[1][k1])
	  {k2++;vv[k2][0]=ET[0][k1];vv[k2][1]=ET[1][k1];}
	 }
		k3=0;y=0;	 
		 for(k1=0;k1<=k2;k1++)
		 {k3=vv[k1][0];k4=vv[k1][1];
		 x=1;
		 while(x) 
		 {for(k5=k1+1;k5<=k2;k5++)
			  if(vv[k5][0]==k4) 
			  {k4=vv[k5][1];break;}
		  if(k5>k2) x=0;
		 }
		 if(k4==k3) y=1;
		 }


	 //if(ET[0][N+1]==0||ET[1][N+1]==0)
	//	 k2++;
	
	if(y==1&&cen[N+1]!=M) L[++k]=-1;
	else
	{
	 A3=new float*[M];
	 	 for(k1=0;k1<M;k1++)
	 {
		 A1=new float[M];
		 for(k2=0;k2<M;k2++)
		 {A1[k2]=A[E][k1][k2];}
		 A3[k1]=A1;
	 }
	 A[N+1]=A3;
    
	 for(k1=0;k1<M;k1++)
	 {	A[N+1][i][k1]=large;
		A[N+1][k1][j]=large;
	 }
	 A[N+1][j][i]=large;
	 r[N+1]=simple(A[N+1]);
	 C[N+1]=C[E]+r[N+1];
	     if(C[N+1]<U)
		 if(cen[N+1]==M)
		 {U=C[N+1];
	     ans=N+1;
		 }
//	     else 
//		 {L[++k]=N+1;}//add 
    L[++k]=N+1;
	}
	for(k1=0;k1<M;k1++)
	{delete []  A[E][k1];}
	 delete []  A[E];
		cout<<k<<",";
	A[N+2][i][j]=large;
    r[N+2]=simple(A[N+2]);
	C[N+2]=C[E]+r[N+2];
//	if(C[N+2]<U){L[++k]=N+2;}//add k=k+1
	L[++k]=N+2;
	N=N+2;
	
	k1=0;
	for(x=1;x<=k;x++)
	{   if(L[x]==-1) k1++;
		else if(C[L[x]]>U)
		{
		for(k1=0;k1<M;k1++)
			{delete [] A[L[x]][k1];}
		delete []  A[L[x]];
		L[x]=-1;
		}
	}
	if(k1!=k)  
	{xia=U+1;
		for(x=1;x<=k;x++)
			if(L[x]!=-1&&C[L[x]]<xia)
			{k1=x;xia=C[L[x]];}
	L[k1]=-1;E=k1;
	}
	else              C[E]=large;
}
//cout<<20.9+8.3+24+15.2+19.1<<endl;
cout<<k<<",";
cout<<"Least cost="<<U<<endl;
while(ans!=-1)
{
if(ET[0][ans]!=ET[1][ans])	//cout<<bb[ET[0][ans]+gama]<<"--"<<bb[ET[1][ans]+gama]<<",";
{
if(ET[0][ans]==0)
	cout<<bb[ET[0][ans]];
else cout<<bb[ET[0][ans]+gama];
cout<<"--";
if(ET[1][ans]==0)cout<<bb[ET[1][ans]];
else              cout<<bb[ET[1][ans]+gama];
cout<<",";
}
ans=parent[ans];
}
//getch();
}










		   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情在线一区二区三区| 日韩一级大片在线观看| 久久国产夜色精品鲁鲁99| 五月天网站亚洲| 亚洲成人精品一区| 亚洲成人激情综合网| 亚洲国产成人精品视频| 亚洲图片欧美综合| 视频在线在亚洲| 另类小说欧美激情| 国内精品久久久久影院薰衣草| 久久国产生活片100| 国产在线麻豆精品观看| 国产精品一二三四区| 国产福利一区在线| 波多野结衣亚洲| 在线视频你懂得一区| 欧美三区在线视频| 日韩欧美三级在线| 久久女同精品一区二区| 国产区在线观看成人精品| 国产精品进线69影院| 亚洲一区视频在线观看视频| 亚洲成av人片一区二区梦乃| 久久精品国产成人一区二区三区 | 欧美三级电影精品| 欧美美女黄视频| 精品日本一线二线三线不卡| 国产日产欧美一区二区视频| 亚洲欧美日韩一区二区三区在线观看| 一区二区三区欧美日韩| 蜜桃久久久久久| 欧美人狂配大交3d怪物一区| 欧美一级理论性理论a| 久久久久久久久久久电影| 综合婷婷亚洲小说| 美国毛片一区二区三区| 成人精品免费视频| 欧美放荡的少妇| 国产精品久久精品日日| 日韩国产欧美一区二区三区| 成人亚洲一区二区一| 欧美精三区欧美精三区| 欧美激情一区二区在线| 日日欢夜夜爽一区| 成人高清视频在线观看| 91精品婷婷国产综合久久| 亚洲国产电影在线观看| 无码av免费一区二区三区试看| 国产精品亚洲人在线观看| 欧美三级午夜理伦三级中视频| 欧美tickle裸体挠脚心vk| 亚洲免费av在线| 国产老妇另类xxxxx| 欧美日韩国产中文| 亚洲天堂av老司机| 高清久久久久久| 亚洲精品一区二区精华| 图片区小说区区亚洲影院| 一本一道综合狠狠老| 国产欧美1区2区3区| 极品瑜伽女神91| 欧美一区二区三区四区高清| 亚洲麻豆国产自偷在线| 成人av在线观| 久久久不卡影院| 国产原创一区二区三区| 日韩欧美的一区二区| 视频一区二区三区在线| 欧美精品亚洲二区| 亚洲午夜电影在线| 色综合天天综合网国产成人综合天| 久久精品夜色噜噜亚洲a∨| 久久国产综合精品| 精品欧美乱码久久久久久1区2区| 日韩制服丝袜先锋影音| 欧美日韩综合在线免费观看| 亚洲高清免费观看| 欧美日韩欧美一区二区| 亚洲成人777| 欧美日韩另类一区| 日韩高清一区在线| 欧美一区二区三区免费观看视频| 天堂成人国产精品一区| 欧美一卡二卡三卡| 精品亚洲porn| 中文字幕乱码亚洲精品一区| 成人国产精品免费观看视频| 亚洲欧洲日韩综合一区二区| 91美女片黄在线观看91美女| 亚洲综合色噜噜狠狠| 欧美日韩电影一区| 另类专区欧美蜜桃臀第一页| 2020国产成人综合网| 成人免费毛片片v| 亚洲欧美视频一区| 欧美精品视频www在线观看| 青青草原综合久久大伊人精品优势| 日韩欧美黄色影院| 成人精品一区二区三区四区 | 亚洲va欧美va天堂v国产综合| 欧美日韩在线免费视频| 人人超碰91尤物精品国产| 精品国内片67194| 北条麻妃一区二区三区| 亚洲国产精品影院| 欧美大白屁股肥臀xxxxxx| 国产盗摄一区二区| 亚洲影院免费观看| 精品国产sm最大网站免费看 | 亚洲欧美日韩国产中文在线| 欧美日韩免费观看一区二区三区| 美女视频网站久久| 国产精品污www在线观看| 欧美性videosxxxxx| 黄一区二区三区| 亚洲午夜在线电影| 国产欧美日韩综合精品一区二区| 91成人看片片| 国产乱码精品一区二区三区忘忧草| 亚洲人一二三区| 精品国产百合女同互慰| 欧美午夜精品免费| 国产+成+人+亚洲欧洲自线| 午夜一区二区三区视频| 国产女人18水真多18精品一级做| 欧美日韩在线播放三区| 成人免费毛片高清视频| 蜜臀av亚洲一区中文字幕| 亚洲欧美日韩在线播放| 26uuu另类欧美| 欧美一级电影网站| 欧美中文字幕一区二区三区亚洲| 国产成人在线色| 精一区二区三区| 亚洲成a天堂v人片| 亚洲精品国产无天堂网2021 | 欧美手机在线视频| 成人免费视频视频在线观看免费| 久久99这里只有精品| 亚洲成人7777| 亚洲在线视频一区| 亚洲精品欧美激情| 自拍偷拍国产精品| 国产欧美日韩视频在线观看| 欧美tickling网站挠脚心| 欧美一卡二卡在线| 91精品国产欧美日韩| 欧美老肥妇做.爰bbww| 欧美午夜一区二区三区免费大片| fc2成人免费人成在线观看播放| 国产盗摄女厕一区二区三区| 国产一区二区在线观看免费| 日韩高清不卡一区二区| 午夜av区久久| 免费在线观看不卡| 免费欧美高清视频| 久久不见久久见免费视频1| 伦理电影国产精品| 国模无码大尺度一区二区三区| 精一区二区三区| 国产99久久久国产精品潘金网站| 国产最新精品免费| 从欧美一区二区三区| 99麻豆久久久国产精品免费| 91麻豆精品在线观看| 欧美亚洲一区二区三区四区| 欧美美女一区二区| 日韩视频免费观看高清完整版在线观看 | 久久激情综合网| 国产乱码精品一区二区三| 成人免费视频app| 91成人网在线| 欧美一区二区国产| 国产亚洲欧美色| 亚洲欧美日韩中文字幕一区二区三区 | 久久精品一区四区| 国产精品久久一级| 亚洲国产成人av网| 久久综合综合久久综合| 国产一区二区三区电影在线观看 | 91精品一区二区三区久久久久久| 在线播放欧美女士性生活| 久久色.com| 一区二区三区在线观看网站| 日本sm残虐另类| 成人av资源在线观看| 欧美日韩色一区| 亚洲国产精品ⅴa在线观看| 一区二区久久久久| 狠狠网亚洲精品| 色哟哟一区二区在线观看| 日韩免费看的电影| 亚洲欧洲国产日韩| 午夜精品123| 91在线观看免费视频| 精品日韩在线一区| 一区二区三区在线播| 国产精品1区2区3区在线观看| 在线视频观看一区|