国产探花免费观看_亚洲丰满少妇自慰呻吟_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);} 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肃南| 牟定县| 阆中市| 美姑县| 咸宁市| 山阳县| 辽阳县| 沂南县| 德州市| 通化县| 宁蒗| 罗山县| 屏边| 宾阳县| 漳浦县| 同仁县| 屏山县| 巴彦淖尔市| 渝中区| 灵川县| 沾益县| 巴楚县| 太仓市| 阳东县| 定安县| 松阳县| 宁海县| 栾城县| 黔西| 济源市| 连城县| 育儿| 巴塘县| 页游| 正阳县| 镇坪县| 内黄县| 高雄县| 高淳县| 梅河口市| 纳雍县|