关注
华为笔试题目第三题怎么了?我在自己电脑测试根本没有错误呀?这是我的代码,求指教??
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue>
using namespace std;
queue<int> que;
int d2[7][7] = {
{ 0,2,10,5,3,1000},
{ 1000,0,12,1000,1000,10},
{ 1000,1000,0,1000,7,1000},
{2,1000,1000,0,2,1000},
{4,1000,1000,1,0,1000},
{3,1000,1,1000,2,0}
};
int d[7][7];
const int INF = 1000;
int x,y;
int dist[10],p[10],in[10];
void spfa(int s){
for(int i=0;i<=5;i++){
dist[i]=INF;
p[i]=i;
}
memset(in,0,sizeof(in));
dist[s]=0;
in[s]=1;
que.push(s);
while(!que.empty()){
int u = que.front();
que.pop();
in[u]=0;
for(int i=0;i<=5;i++){
if(i==y) continue; //大雾不能到达
if(u==y) continue; //大雾不能出发
if(dist[i]>dist[u]+d[u][i]){
dist[i]=dist[u]+d[u][i];
p[i]=u;
if(in[i]==0){
in[i]=1;
que.push(i);
}
}
}
}
}
int main()
{
while(cin>>x>>y){
x--;y--;
for(int i=0;i<=5;i++){
for(int j=0;j<=5;j++){
d[i][j]=d2[i][j];
}
}
spfa(4);
if(dist[x]>=1000) dist[x]=1000;
cout<<dist[x]<<endl;
int cc[10];
int num = 0;
if(dist[x]<1000){
int cur = x;
cc[++num]=cur+1;
while(p[cur]!=cur){
cc[++num]=p[cur]+1;
cur=p[cur];
}
cout<<"[";
for(int i=num;i>1;i--){
cout<<cc[i]<<",";
}
cout<<cc[1]<<"]"<<endl;
}else{
cout<<"[]"<<endl;
}
}
return 0;
}
有人愿意和我对拍吗?通过率只有12.5%??
查看原帖
点赞 3
相关推荐
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。
把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你小心翼翼的闯过多大的祸? #
1976次浏览 46人参与
# 找不到实习会影响秋招吗 #
1398979次浏览 13627人参与
# 实习没事做是福还是祸? #
2260次浏览 41人参与
# 考研人,我有话说 #
156410次浏览 1211人参与
# 2025年终总结 #
129946次浏览 2189人参与
# 实习简历求拷打 #
21720次浏览 233人参与
# 哪些公司笔/面试难度大? #
6983次浏览 32人参与
# 携程工作体验 #
18804次浏览 66人参与
# 那些我实习了才知道的事 #
252863次浏览 1784人参与
# 你觉得现在还能进互联网吗? #
29864次浏览 200人参与
# 第一份工作能做外包吗? #
93878次浏览 599人参与
# 投格力的你,拿到offer了吗? #
154436次浏览 829人参与
# 秋招遇到的奇葩面试题 #
101186次浏览 416人参与
# 作业帮求职进展汇总 #
85019次浏览 559人参与
# 简历当中有水分算不算造假? #
154212次浏览 2250人参与
# 秋招被挂春招仍然能投的公司 #
8792次浏览 110人参与
# 扒一扒那些奇葩实习经历 #
140019次浏览 1148人参与
# 正在实习的你,有转正机会吗? #
465653次浏览 3062人参与
# 信也科技工作体验 #
13497次浏览 39人参与
# mt对你说过最有启发的一句话 #
41599次浏览 469人参与
