P3371 2021-07-01 5 笔记 ```cpp #include #include using namespace std; const int maxn=1000001; int dis[maxn]; int first[maxn],to[maxn<<1],next[maxn<<1],val[maxn<<1],tot,inf=2147483647;// bool vis[maxn];//读取访问 int n,m,s;//点个数、边个数、出发点 void add(int x,int y,int z)//链表 { next[++tot]=first[x]; first[x]=tot; to[tot]=y; val[tot]=z; } void dijkstra(int s)//贪心 { dis[s]=0;//初始点初始化 for(int i=1;idis[k]+val[j]) { dis[v]=dis[k]+val[j]; } } } } } int main() { cin>>n>>m; cin>>s; for(int i=1;i<=n;i++){ dis[i]=inf; } for(int i=1;i<=m;i++) { int x,y,z;cin>>x>>y>>z; add(x,y,z); } dijkstra(s); for(int i=1;i<=n;i++){ cout< 本文链接: https://shrinken.pw/crash-2021-07-01_44-fml.html