国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

1072. Gas Station (30)

2019-11-08 02:00:13
字體:
來源:轉載
供稿:網友
有幾個注意點:1.output案例是錯的,是3.2而不是3.32.注意理解題意,是要求加油站到各個站點最短距離最大,但是有不能超過最大服務距離3.stringstream的應用附上代碼:
#include<cstdio>#include<iostream>#include<string>#include<algorithm>#include<map>#include<sstream>using namespace std;const int INF=1000000;int MinDist[12][1020];int ma[1020][1020];int N,M,R,MaxDist,SumTemp;int isread[1020];int dijkstra(int node){//常規就行了,加一點細節的判斷 	SumTemp=0;	int i,min=INF,MinRe=INF;	for(i=0;i<1020;i++){		isread[i]=0;		MinDist[node-N][i]=INF;	}	int start=node;	MinDist[node-N][start]=0;	while(1){		min=INF;		for(i=N+M;i>=1;i--){			if(MinDist[node-N][i]<min&&isread[i]==0){				min=MinDist[node-N][i];				start=i;			}		}		if(isread[start]==1)			break;		isread[start]=1;		if(start<=N){			SumTemp+=MinDist[node-N][start];		if(MinDist[node-N][start]<MinRe)			MinRe=MinDist[node-N][start];		if(MinDist[node-N][start]>MaxDist)			return -2;		}		for(i=1;i<N+M+1;i++){			if(MinDist[node-N][i]>MinDist[node-N][start]+ma[i][start]&&isread[i]==0){				MinDist[node-N][i]=MinDist[node-N][start]+ma[start][i];			}		}	}	return MinRe;}int exchange(string s){//返回string轉化成int量的結果 	int answer;	if(s[0]=='G'){		stringstream tt(s.substr(1,s.size()));		tt>>answer;		return answer+N;	}	else{		stringstream tt(s);		tt>>answer;		return answer;	}}int main(){	int i,j,c,Mini,suf=INF;	double sum=0,min=-1;	string a,b;	cin>>N>>M>>R>>MaxDist;	for(i=0;i<1020;i++)		for(j=0;j<1020;j++)			ma[i][j]=INF;	for(i=0;i<R;i++){		cin>>a>>b>>c;		ma[exchange(a)][exchange(b)]=c;//建立無向圖 		ma[exchange(b)][exchange(a)]=c;	}	for(i=N+1;i<N+M+1;i++){		j=dijkstra(i);//對于各個可能建加油站的點用單源最短路勁算法,ps可能拼錯了 		if(j>min||(j==min&&suf>SumTemp)){			min=j;			Mini=i;			suf=SumTemp;		}	}	if(min==-1){		PRintf("No Solution/n");		return 0;	}	cout<<"G"<<Mini-N<<endl;	for(i=1;i<=N;i++)		sum+=MinDist[Mini-N][i];	printf("%.1f %.1f/n",min,sum/N);} 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 关岭| 都兰县| 育儿| 韶关市| 扬州市| 晋江市| 资溪县| 诸暨市| 来安县| 年辖:市辖区| 金山区| 安陆市| 右玉县| 济南市| 张家港市| 龙江县| 临澧县| 桃源县| 宝兴县| 柳林县| 双城市| 项城市| 西宁市| 双峰县| 曲松县| 华阴市| 聂拉木县| 正定县| 彩票| 东宁县| 嘉定区| 得荣县| 中阳县| 马公市| 北川| 纳雍县| 樟树市| 昌黎县| 阜新| 江永县| 长岭县|