听取WA声一片
查看原帖
听取WA声一片
68574
HGJH°L楼主2021/10/2 21:25

球球大佬们帮忙康康哪里错了,调了半天也不知道哪里错了qaq

#include<bits/stdc++.h>
#define ll long long
#define INF 0x7f7f7f7f
#define BD

using namespace std;

int n,m;
int e[202][202];
int must[202][202];
bitset <202> ans;
int u,v,w;
bool f;

signed main()
{

	#ifndef BD
	freopen("in.txt","r",stdin);
	freopen("out.txt","w",stdout);
	#endif
	read(n,m);
	memset(e,INF,sizeof e);
	for (ri i=1;i<=n;i++)
		e[i][i]=0;
	while (m--)
	{
		read(u,v,w);
		e[u][v]=e[v][u]=w;
	}
	for (ri k=1;k<=n;k++)
		for (ri i=1;i<=n;i++)
			if (i!=k)
				for (ri j=1;j<=n;j++)
					if (i!=j&&j!=k)
					{
						if (e[i][j]>e[i][k]+e[k][j])
						{
							e[i][j]=e[i][k]+e[k][j];
							must[i][j]=k;
						}
						else if (e[i][j]==e[i][k]+e[k][j])
							must[i][j]=-1;
					}
	for (ri i=1;i<=n;i++)
		for (ri j=1;j<=n;j++)
			if (must[i][j]!=-1)
				ans[must[i][j]]=1;
	for (ri i=1;i<=n;i++)
		if (ans[i])
		{
			print(i,' ');
			f=1;
		}
	if (!f)
		printf("No important cities.");
	return 0;
}

qq_emoji: tt

2021/10/2 21:25
加载中...