蓝桥杯 算法训练 最短路(最短路模板)


  • 思路:最短路模板题,出错了一次,没有全部清空导致出错。

  • 代码:
    #include
    using namespace std;
    
    const int maxn = 200000+10;
    int n,m;
    int d[maxn];
    vector< pair > E[maxn];
    
    void init(){
    	for(int i=0;i > q;
    	q.push( make_pair(-d[1],1) );
    	while(!q.empty()){
    		int u=q.top().second;
    		q.pop();
    		for(int i=0;id[u]+E[u][i].second){
    				d[v]=d[u]+E[u][i].second;
    				q.push(make_pair(-d[v],v));
    			}
    		}
    	}
    }
    int main(){
    	while(cin>>n>>m){
    		init();
    		for(int i=0;i>a>>b>>x;
    			E[a].push_back(make_pair(b,x));
    		}
    		dijkstra();
    		for(int i=2;i<=n;i++){
    			printf("%d\n",d[i]);
    		}
    	}	
    	return 0;
    }


你可能感兴趣的:(۩۩.._ACM)