题目:

当大家在考场中接受考验(折磨?)的时候,小呆正在悠闲(欠扁)地玩一个叫“最初梦想”的游戏。游戏描述的是一个叫pass的有志少年在不同的时空穿越对抗传说中的大魔王chinesesonic的故事。小呆发现这个游戏的故事流程设计得很复杂,它有着很多的分支剧情,但不同的分支剧情是可以同时进行的,因此游戏可以由剧情和剧情的结束点组成,某些剧情必须要在一些特定的剧情结束后才能继续发展。为了体验游戏的完整性,小呆决定要看到所有的分支剧情——完成所有的任务。但这样做会不会耽误小呆宝贵的睡觉时间呢?所以就请你来解决这个问题了。小呆会给你一个剧情流程和完成条件的列表,其中第一行有一个数n(0<n<100),表示总共有n个剧情结束点,第二行一个数m(0<m<=120),表示由m个不同的剧情,下面的m行中每行有三个数i(0<i<=100),j(0<j<=100),k(0<k<=1000),表示从剧情结束点i必须完成一个耗费时间为k的剧情才能到达剧情结束点j。注意,这m行中出现的1不是剧情结束点而是游戏的开始,而n+1表示游戏结束。你要告诉小呆完成整个游戏至少需要多少时间以及要经过的所有可能的剧情结束点(按升序输出)。

这道题纯粹是语文题(什么时候让HHD去做做O(∩_∩)O~~)

好不容易看懂了题目的意思:求最长路并打印路径。
在编floyd的时候(数据弱,这个也可以了),忽然忘了怎么加路径。
赶紧百度一下,哦,总算有些想起来(就是下文当中的out函数)。
样例通过后,赶紧提交:WA了两个点!什么情况?
怎么也想不出,偷偷去看了题解(你什么都不知道,俺可是正大光明的)
原来,可能有多条最长路径,所以要升序输出所有路径!!!!!!!!

又改了一下就A了,这样,那个辛辛苦苦做的out函数反而没调用。

#include<stdio.h>
using namespace std;
long f[101][101],i,j,k,x,y,z,n,m,pre[101][101];
void out(long l,long r)
{if (pre[l][r]==0) return;out(l,pre[l][r]);printf("%ld ",pre[l][r]);out(pre[l][r],r);
}
int main()
{scanf("%ld",&n);n++;scanf("%ld",&m);for (i=1;i<=n;i++)for (j=1;j<=n;j++)f[i][j]=0;for (i=1;i<=m;i++){scanf("%ld %ld%ld",&x,&y,&z);f[x][y]=z;}for (k=1;k<=n;k++)for (i=1;i<=n;i++)for (j=1;j<=n;j++)if((i!=j)&&(i!=k)&&(j!=k)&&(f[i][k]>0)&&(f[k][j]>0)&&(f[i][k]+f[k][j]>f[i][j])){f[i][j]=f[i][k]+f[k][j];//pre[i][j]=k;}printf("%ld\n",f[1][n]);printf("1 ");for (i=2;i<n;i++)if (f[1][i]+f[i][n]==f[1][n]) printf("%ld ",i);//out(1,n);printf("%ld",n);return 0;
} 

vijos1027题解相关推荐

  1. [JS][dfs]题解 | #迷宫问题#

    题解 | #迷宫问题# 题目链接 迷宫问题 题目描述 定义一个二维数组 N*M ,如 5 × 5 数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 1, 1 ...

  2. [JS][dp]题解 | #打家劫舍(一)#

    题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...

  3. [JS]题解 | #魔法数字#

    题解 | #魔法数字# 题目链接 魔法数字 题目描述 牛妹给牛牛写了一个数字n,然后又给自己写了一个数字m,她希望牛牛能执行最少的操作将他的数字转化成自己的. 操作共有三种,如下: 在当前数字的基础上 ...

  4. [JS]题解 | #岛屿数量#

    题解 | #岛屿数量# 题目链接 岛屿数量 题目描述 时间限制:1秒 空间限制:256M 描述 给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右 ...

  5. [JS] 题解:提取不重复的整数

    题解:提取不重复的整数 https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1 时间限制:1秒 空间限制:32M 描述 输 ...

  6. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  7. [洛谷1383]高级打字机 题解

    题解 这道题一看就珂以用主席树啊 这是一道神奇的题目,那么我们先敲一个主席树,然后维护一个数组len,表示下一次应该在len + 1插入, 之后对于T操作,在上一个版本的len + 1上直接执行插入 ...

  8. luogu P1549 棋盘问题(2) 题解

    luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...

  9. 【题解搬运】PAT_L1-009 N个数求和

    从我原来的博客上搬运.原先blog作废. (伪)水题+1,旨在继续摸清这个blog(囧 题目 就是求N个数字的和.麻烦的是,这些数字是以有理数"分子/分母"的形式给出的,你输出的和 ...

最新文章

  1. Redis 五种数据结构以及三种高级数据结构解析以及使用
  2. Java黑皮书课后题第7章:7.4(分析成绩)编写一个程序,读入个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入结束。假设最高分是100
  3. JavaSE----基础语法(方法)
  4. 汇编语言(三十四)之输出中文
  5. java 程序实现对图片的压缩生成缩略图并可设定长宽、尺寸压缩率、图片质量
  6. reboot mysql fail_mysql 5.7.18,在系统重启后,为什么无法启动?
  7. Mybatis 实现关联表查询
  8. 关于 min_25 筛的入门以及复杂度证明
  9. element tree不刷新视图_随手“一片”SCI,Qiime2扩增子处理流程确定不了解一下?(一)...
  10. 无人机未来有一大波创富平台
  11. SSM框架中的Mapper.xml文件中的增、删、改、查等操作
  12. 数字IC设计工程师笔试面试经典题
  13. multi task训练torch_torch中创建multitask网络结构
  14. 网络安全:IP地址定位方式
  15. 故宫元宵灯会黄牛票最高要5千 律师:小心被拒
  16. 服务器被穷举法暴力爆破、攻击的简单应对方案。
  17. Android ROM适配基础
  18. 人工智能学习前的简单了解
  19. 数组中出现次数超过一半的数字
  20. java中的POJO类属性建议使用包装数据类型

热门文章

  1. 根据出生日期,得出年龄
  2. app css导入字体大小,app设计中的字体行高
  3. 多重共线性检验之方差膨胀因子VIF
  4. 使用Grafana+OPENTSDB方式Export和Import图表
  5. java基础之泛型(Generics)
  6. “知己知彼,百战不殆”,网络安全漏洞早知道
  7. 不修复软件缺陷的原因
  8. hdparm 中文手冊
  9. 微信小程序 - 实现左右菜单联动功能
  10. vant weapp 多选上传图片_小程序结合vant weapp的复选框(checkbox)组件实现全选、反选、多选...