求救!!
查看原帖
求救!!
158475
preying楼主2022/12/4 21:15
#include<bits/stdc++.h>
using namespace std;
int mp[30][30],v[30],fg[30],n,head;
int zhuan(char f){
	int ans;
	if(f>='a'&&f<='z')
		ans=f-'a'+1;
	else{
		ans=f-'A'+1;
		v[ans]=1;
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=26;++i)
		for(int j=1;j<=26;++j)
			mp[i][j]=100000;
	for(int i=1;i<=n;++i){
		char a,b;
		int x,y;
		cin>>a>>b;
		x=zhuan(a);
		y=zhuan(b);
		cin>>mp[x][y];
	}
	head=26;
	fg[26]=1;
	while(true){
		int mi=INT_MAX,t;
		for(int i=1;i<26;++i)
			if(mp[i][26]<mi&&!fg[i]){
				mi=mp[i][26];
				head=i;
			}
		fg[head]=1;
		if(v[head])
			break;
		for(int i=1;i<26;++i)
			if(mp[i][head]+mp[head][26]<mp[i][26]&&!fg[i])
				mp[i][26]=mp[i][head]+mp[head][26];
	}
	char s=head+'A'-1;
	cout<<s<<" "<<mp[head][26];
}

有没有哪位大佬能帮我看看为什么会RE TOT

2022/12/4 21:15
加载中...