关注
#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]); 就对了。
为什么。两者有区别吗
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
King987:你有实习经历,但是写的也太简单了,这肯定是不行的,你主要要包装实习经历这一块,看我的作品,你自己包装一下吧,或者发我,我给你出一期作品
点赞 评论 收藏
分享
03-10 18:34
湖南交通工程学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的求职进度条 #
983452次浏览 6539人参与
# 携程笔试 #
153318次浏览 888人参与
# 厦门银行科技岗值不值得投 #
18876次浏览 422人参与
# 米哈游工作体验 #
29833次浏览 144人参与
# 拼多多集团-PDD笔试 #
63671次浏览 484人参与
# 哪些公司一直卡在简历筛选 #
105444次浏览 360人参与
# 中国电信笔试 #
40635次浏览 399人参与
# 拿到offer之后,可以做些什么 #
104614次浏览 511人参与
# 入职第一天,你准备什么时候下班 #
118100次浏览 516人参与
# Agent面试会问什么? #
37554次浏览 1413人参与
# 一人分享一个skill #
9612次浏览 243人参与
# 说说你知道的学历厂 #
401266次浏览 1433人参与
# 春招至今,你收到几个面试了? #
96808次浏览 1237人参与
# 选实习,你更看重哪方面? #
76699次浏览 505人参与
# 拼多多工作体验 #
55300次浏览 389人参与
# 记录实习开销 #
214416次浏览 1747人参与
# 你觉得专业和学校哪个对薪资影响最大 #
104455次浏览 619人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
12132次浏览 143人参与
# TCL求职进展汇总 #
152275次浏览 665人参与
# 通信/硬件的薪资开多少,才值得去? #
76666次浏览 407人参与
# 面试体验最好和最差的公司 #
25250次浏览 170人参与

天翼支付科技有限公司公司福利 16人发布