Pagini recente » Cod sursa (job #3161032) | Cod sursa (job #985287) | Cod sursa (job #2032594) | Cod sursa (job #622801) | Cod sursa (job #2206615)
#include <bits/stdc++.h>
#define DM 1505
#define pb push_back
#define pii pair<int,int>
#define x first
#define y second
#define INF 0x3f3f3f3f
using namespace std;
ifstream fin("dmin.in");
ofstream fout("dmin.out");
struct mch{int fiu,cst;};
vector<mch>G[DM];
priority_queue<pii>Q;
int ans[DM],mnCost[DM],a,b,c,n,m;
int main()
{
fin>>n>>m;
while(m--){
fin>>a>>b>>c;
G[a].pb({b,c});
G[b].pb({a,c});
}
memset(mnCost,INF,sizeof(mnCost));
Q.push({1,1});
while(!Q.empty()){
int nod = Q.top().y;
int cst = Q.top().x;
Q.pop();
if(cst > mnCost[nod]) continue;
if(cst == mnCost[nod]) ans[nod]++;
if(cst < mnCost[nod]) mnCost[nod]=cst,ans[nod]=1;
for(auto i:G[nod]) Q.push({cst*i.cst,i.fiu});
}
for(int i=2;i<=n;++i) fout<<ans[i]<<" ";
return 0;
}