关注
华为笔试题目第三题怎么了?我在自己电脑测试根本没有错误呀?这是我的代码,求指教??
#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
相关推荐
11-01 21:25
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
11-03 14:26
武汉设计工程学院 运营 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我来点评面试官 #
9575次浏览 76人参与
# 工作后,谈恋爱还和学生时代一样吗? #
38912次浏览 367人参与
# 360集团校招 #
59次浏览 0人参与
# 今年秋招是回暖还是遇冷 #
19685次浏览 127人参与
# 你的领导最像哪种动物,为什么? #
23693次浏览 133人参与
# 同bg的你秋招战况如何? #
166631次浏览 967人参与
# 京东开奖 #
446058次浏览 2499人参与
# 职场破冰,你们都聊什么? #
28299次浏览 150人参与
# 阿里云工作体验 #
31478次浏览 106人参与
# 我的AI电子员工 #
20706次浏览 151人参与
# 秋招开始捡漏了吗 #
59929次浏览 408人参与
# 你实习是赚钱了还是亏钱了? #
19500次浏览 180人参与
# 来聊聊你目前的求职进展 #
686131次浏览 6921人参与
# 用一句话形容你的团队氛围 #
12395次浏览 145人参与
# 三一集团提前批进度交流 #
39946次浏览 228人参与
# 找工作八股要背到什么程度? #
11249次浏览 186人参与
# 教师节,你送祝福了吗 #
11093次浏览 75人参与
# 毕业论文进行时 #
1643次浏览 22人参与
# 上班摸鱼,你都在干些什么? #
28792次浏览 223人参与
# 你找工作是从容有余 or 匆忙滚爬? #
6745次浏览 72人参与
# 三一重工求职进展汇总 #
22358次浏览 82人参与
# 面对逼签的应对技巧 #
2420次浏览 16人参与