对于下图,利用最短路径算法,找到从家到学校最短路径长度(能够输出对应路径更好)(C语言)
对于下图,利用最短路径算法,找到从家到学校最短路径长度(能够输出对应路径更好)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 三块不一样的石头 2022-06-05 23:25关注
#include "stdio.h" using namespace std; struct OP { int next[10001], num = 0; // 记入它接下来抵达的地方,num 为个数 }op[10001]; // 表示点个数,0为出发地,10000为目的地 int f[10001],key[10001],k_len=50000; void find_MinRoad(int now,int num){ // 当前位置,当前走的步数 if(now==10000){ if(num<k_len) for(k_len=0;k_len<num;k_len++) key[k_len] = f[k_len]; } if(now!=10000){ for(int z=0;z<op[now].num;z++) { f[num] = op[now].next[z]; find_MinRoad(op[now].next[z],num+1); } } } int main() { int road,a,b; // road : 输入中间路的总个数,你的图为13,如果更多点把int 换成long op那的数组也再开大点 scanf("%d",&road); while (road--){ scanf("%d %d",&a,&b); // a->b op[a].next[op[a].num++] = b; } find_MinRoad(0,1); printf("%d\n",k_len-1); for(int z=0;z<k_len;z++) printf("%d ",key[z]); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么