急!在线等
  • 板块灌水区
  • 楼主fanxing1124
  • 当前回复21
  • 已保存回复21
  • 发布时间2023/9/8 20:41
  • 上次更新2023/11/2 22:17:24
查看原帖
急!在线等
778970
fanxing1124楼主2023/9/8 20:41

这段代码为什么会编译错误?

#include<bits/stdc++.h>
#define uf(x,y,z) for(int x=y;x<=z;x++)
#define df(x,y,z) for(int x=y;x>=z;x--)
#define int long long
using namespace std;
int n,m,x,y,z,l[1010],dis[1010];
queue<int>q;
struct node1
{
	int x,t;
}nod1;
struct node2
{
	int y,t;
}nod2;
map<node1,node2>a;
void no(int x,int t)
{
	nod1.x=x;
	nod1.t=t;
}
signed main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		scanf("%lld%lld%lld",&x,&y,&z);
		l[x]++;
		no(x,l[x]);a[nod1].t=z;
		no(y,++l[y]);a[nod1].t=z;
	}
	memset(dis,0x3f3f3f3f3f3f3f3f,sizeof(dis));
	dis[1]=0;
	q.push(1);
	while(!q.empty())
	{
		int u=q.front();
		q.pop();
		for(int i=1;i<=l[u];i++)
		{
			no(u,i);
			int v=a[nod1].y;
			if(dis[v]>dis[u]+a[nod1].t)
			{
				dis[v]=dis[u]+a[nod1].t;
				q.push(v);
			}
		}
	}
	for(int i=1;i<=n;i++)cout<<dis[i]<<endl;
	return 0;
}
2023/9/8 20:41
加载中...