关注
#include <stdio.h>
#include <map>
#include <string>
#include <string.h>
#include <vector>
using namespace std;
#define INF 0xfffffff
int n,m;
int
d[205],w[205][205],hp[205],path[205],l[205],totalhp[205],av_hp[205];
bool vis[205];
map<string,int> mp;
string str[205];
int num[205];
void Dj(int s)
{
int i,j;
for(i=0;i<n;i++)
if(w[s][i]!=INF)
{
d[i]=w[s][i],path[i]=s,totalhp[i]=hp[i],l[i]=1,num[i]=1;
}
else
d[i]=INF;
d[s]=0;
l[s]=0;
num[s]=1;
vis[s]=true;
for(j=0;j<n-1;j++)
{
int min=INF,idx=-1;
for(i=0;i<n;i++)
if(!vis[i]&&d[i]<min)
min=d[i],idx=i;
vis[idx]=true;
if(min==INF)
break;
for(i=0;i<n;i++)
if(!vis[i]&&w[idx][i])
{
if(d[idx]+w[idx][i]<d[i])
{
num[i]=num[idx];
d[i]=d[idx]+w[idx][i];
path[i]=idx;
totalhp[i]=totalhp[idx]+hp[i];
l[i]=l[idx]+1;
av_hp[i]=totalhp[i]/l[i];
}
else if(d[idx]+w[idx][i]==d[i])
{
num[i]+=num[idx];
if(totalhp[idx]+hp[i]>totalhp[i]||(totalhp[idx]+hp[i]==totalhp[i]&&l[idx]+1<l[i]))
{
path[i]=idx;
totalhp[i]=totalhp[idx]+hp[i];
l[i]=l[idx]+1;
av_hp[i]=totalhp[i]/l[i];
}
}
}
}
}
int main()
{
scanf("%d%d",&n,&m);
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
w[i][j]=INF;
char a1[10];
scanf("%s",a1);
mp[a1]=0;
char a[10];
int t;
for(i=1;i<n;i++)
{
scanf("%s",a),scanf("%d",&t);
str[i]=a,mp[a]=i,hp[i]=t;
}
char b[10];
for(i=0;i<m;i++)
{
scanf("%s%s%d",a,b,&t);
int x=mp[a],y=mp[b];
if(t<w[x][y])
w[x][y]=w[y][x]=t;
}
i=mp["ROM"];
Dj(0);
printf("%d %d %d
%d\n",num[i],d[i],totalhp[i],av_hp[i]);
vector<int> v;
j=path[i];
while(j!=0)
v.push_back(j),j=path[j];
i=v.size()-1;
printf("%s->",a1);
for(j=i;j>=0;j--)
printf("%s->",str[v[j]].c_str());
printf("ROM\n");
return 0;
}
这个代码为什么是错的。
这一行改成 printf("%d %d %d
%d\n",num[i],d[i],totalhp[i],totalhp[i]/l[i]); 就对了。
为什么。两者有区别吗
查看原帖
点赞 评论
相关推荐
11-15 00:37
南京大学 FAE 经历了无数测评和宣讲会,拒信是一封又一封,努力却没有回应,真让我感到很累啊。似乎明白自己投了简历也会被刷,面试也毫无意义,渐渐开始懒得再投、再测、再面。求求了,给我一个offer,让我重新燃起斗志吧!
牛客84762733号:南✌,你不是没有offer,你是没有让你满意的offer,而身为双非鼠鼠的我,连面试都没有
点赞 评论 收藏
分享
10-24 11:10
山西大学 Java 点赞 评论 收藏
分享
11-20 13:35
广东白云学院 数据运营 立马来offer:去哪个大厂了啊,其实你选了小公司,遇到不开心的也会后悔没有选择大平台。别美化小公司了,至少大厂有平台,有二次选择的能力
点赞 评论 收藏
分享
牛客热帖
正在热议
# 晒一晒我的offer #
9708130次浏览 104826人参与
# 机械只有读研才有出路吗? #
7964次浏览 103人参与
# 北方华创开奖 #
21123次浏览 244人参与
# 地方国企笔面经互助 #
1986次浏览 6人参与
# 滴滴求职进展汇总 #
78898次浏览 690人参与
# 考研失败就一定是坏事吗? #
36344次浏览 355人参与
# 机械人,签完三方你在忙什么? #
23087次浏览 119人参与
# 总结:哪家公司面试体验感最差 #
23576次浏览 116人参与
# 机械应届生薪资要多少才合适? #
11816次浏览 55人参与
# 学历or实习经历,哪个更重要 #
39117次浏览 281人参与
# 选完offer后,你后悔学本专业吗 #
6788次浏览 43人参与
# 查收我的offer竞争力报告 #
13431次浏览 191人参与
# 机械人怎么评价今年的比亚迪 #
40944次浏览 141人参与
# 应届生被毁约被毁意向了怎么办 #
24257次浏览 231人参与
# 00后45度躺现状 #
34067次浏览 297人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
35375次浏览 392人参与
# 秋招OC许愿 #
224269次浏览 1855人参与
# 如果能重来,就业or读研你选哪个? #
45407次浏览 335人参与
# 大疆求职进展汇总 #
402770次浏览 2869人参与
# 实习,投递多份简历没人回复怎么办 #
2382323次浏览 34172人参与
# 双非能在秋招上岸吗? #
99403次浏览 770人参与