vijos1027题解
题目:
当大家在考场中接受考验(折磨?)的时候,小呆正在悠闲(欠扁)地玩一个叫“最初梦想”的游戏。游戏描述的是一个叫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题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
随机推荐
- 【JAVAWEB学习笔记】28_jqueryAjax:json数据结构、jquery的ajax操作和表单校验插件
Ajax-jqueryAjax 今天内容: 1.json数据结构(重点) 2.jquery的ajax操作(重点) 3.jquery的插件使用 一.json数据结构 1.什么是json JSON(J ...
- Mac下修改环境变量并保存
1. 终端执行 touch ~/.bash_profile 2.终端执行 vim ~/.bash_profile 3.点一下向下箭头,点E 进入bash_profile文件 4.点i进入编辑模式,进行 ...
- 基于Groovy应用程序的spring boot
spring boot CLI 它是使用Spring Boot的最简单的和快速的的方法.他是一个基于Groovy脚本的命令工具.可以按照以下步骤安装次工具: 1.去spring官网下载 http:// ...
- spark 2.1.0 集群安装
jdk安装 http://www.cnblogs.com/xiaojf/p/6568426.html scala2.11 安装 http://www.cnblogs.com/xiaojf/p/6568 ...
- 编写原生Node.js模块
导语:当Javascript的性能需要优化,或者需要增强Javascript能力的时候,就需要依赖native模块来实现了. 应用场景 日常工作中,我们经常需要将原生的Node.js模块做为依赖并在项 ...
- Boosting决策树:GBDT
GBDT (Gradient Boosting Decision Tree)属于集成学习中的Boosting流派,迭代地训练基学习器 (base learner),当前基学习器依赖于上一轮基学习器的学 ...
- docker安装与学习
docker学习 以ubuntu为实例 第一步检查系统内核>3.80 第二步 安装Docker 之前先更新apt-get update 在执行安装命令 apt-get install -y do ...
- python——爬虫&问题解决&思考(三)
继续上一篇文章的内容,上一篇文章中,将爬虫调度器已经写好了,调度器是整个爬虫程序的"大脑",也可以称之为指挥中心.而现在,我们要做的就是去将调度器中用到的其他组件写好.首先是url ...
- linux平台下Hadoop下载、安装、配置
在这里我使用的linux版本是CentOS 6.4 CentOS-6.4-i386-bin-DVD1.iso 下载地址: http://mirrors.aliyun.com/cen ...
- C++进阶引导
1.C++的用途和意义 t0185b047e29feffc26.jpg 总体来说,C++作为一门软件开发语言,它的流行度是在减少的.主要原因在于语言的复杂和灵活导致软件开发成本提高,这体现在开发周期和 ...