40分求助!!!
  • 板块P1364 医院设置
  • 楼主mmdxm
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/8/19 14:42
  • 上次更新2023/10/27 14:36:44
查看原帖
40分求助!!!
526235
mmdxm楼主2022/8/19 14:42
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int z[101],f[101][101];
int main(){
	int n,i,x,y,sum,k,ans=1000000,j;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%d%d%d",&z[i],&x,&y);
		f[i][y]=1;
		f[y][i]=1;
		f[i][x]=1;
		f[x][i]=1;
		f[i][i]=0; 
	}
	for(i=1;i<=n;i++)
	for(j=1;j<=n;j++)
	if(i!=j)
	for(k=1;k<=n;k++)
	if(f[i][k]!=0&&f[k][j]!=0&&f[i][j]==0) f[i][j]=f[i][k]+f[k][j];
	for(i=1;i<=n;i++){
		sum=0;
		for(j=1;j<=n;j++)
		sum+=z[j]*f[i][j];
		ans=min(ans,sum);
	}
	printf("%d",ans);
	return 0;
} 
2022/8/19 14:42
加载中...