萌新求助这怎么就炸了
查看原帖
萌新求助这怎么就炸了
217743
sc84bbs楼主2020/7/13 10:13

RT

#include<iostream>
#include<algorithm>      
#include<cctype>
#include<cmath>   
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>      
#include<fstream>   
#include<map>      
#include<iomanip>   
#include<iostream>   
#include<queue>    
#include<set>      
#include<sstream>    
#include<stack>        
#include<string>      
#include<vector>
using namespace std;
int n,m,s;
int orz[20005][20005];
int sto[20005];
bool vis[20005];
void dijkstra(int l){
	memset(vis,0,sizeof(vis));
	for(int i=1;i<=n;i++){
		sto[i]=orz[l][i];
		
	}
	sto[l]=0;
	vis[l]=1;
	for(int i=1;i<=n;i++){
		int x,mini=2147474747;
		for(int j=1;j<=n;j++){
			if(!vis[j]&&sto[j]<=mini){
				mini=sto[j];
				x=j;
			}
		}
		vis[x]=1;
		for(int j=1;j<=n;j++){
			sto[j]=min(sto[j],sto[x]+orz[x][j]);
		}
	}
}
int main(){

	cin>>n>>m>>s;
	memset(vis,0,sizeof(vis));
	for(int i=0;i<=n;i++){
		for(int j=0;j<=n;j++){
			orz[i][j]=2147483647;
		}
	}

	for(int i=1;i<=m;i++){
		int u,v,w;
		cin>>u>>v>>w;
		orz[u][v]=w;
		
	}
	dijkstra(s);
	for(int i=1;i<=n;i++){
		cout<<sto[i]<<" ";
	}
	return 0;
}


MLE的问题先忽略不计,这个是怎么WA的啊QAQ

还有这题什么时候掉橙了个人感觉可以黄啊

2020/7/13 10:13
加载中...