【dfs】通行证(jzoj 2013)
通行证
jzoj 2013
题目大意:
有一个图,走某一条路需要某个通行证(数据给出所有可选择的),现在要从某个点到另一个点,问最少要多少个通行证
样例输入
3 3 3
0 2 0
0 2 1
1 2 2
样例输出
2
0 2
数据范围限制
2 <= n <= 30, 1 <= k <= 20。
解题思路:
直接走每一条路,然后要通行证的就记录下来,最后看看那一条路用到的通行证最少
代码:
#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int k,n,m,x,y,z,tot,ans,s[50],p[50],pp[50],num[50];
struct rec
{int to,t;
}a[50][50];
void dfs(int dep,int now)
{if (now>=ans) return;if (dep==1)//到了{if (now<ans)//更优{ans=0;for (int i=0;i<k;++i)if (p[i])//要用的s[++ans]=i;}return;}pp[dep]=1;for (int i=1;i<=num[dep];++i)if (!pp[a[dep][i].to])//没有重复到一个点if (p[a[dep][i].t]) dfs(a[dep][i].to,now);//这个通行证已经有了else{p[a[dep][i].t]=1;//记录dfs(a[dep][i].to,now+1);//dfsp[a[dep][i].t]=0;//清零}pp[dep]=0;
}
bool cmp(rec xx,rec yy){return xx.t<yy.t;}
int main()
{scanf("%d %d %d",&k,&n,&m);for (int i=1;i<=m;++i){scanf("%d %d %d",&x,&y,&z);a[x][++num[x]].to=y;//记录到达的点a[x][num[x]].t=z;//记录通行证编号a[y][++num[y]].to=x;a[y][num[y]].t=z;}for (int i=0;i<n;++i)sort(a[i]+1,a[i]+1+num[i],cmp);//排序,保证字典序ans=2147483647;dfs(0,0);if (ans<50){printf("%d\n",ans);for (int i=1;i<=ans;++i)printf("%d ",s[i]);//输出}else printf("Impossible");return 0;
}
【dfs】通行证(jzoj 2013)相关推荐
- 从A至Z,用30个单词来概括过去十年的游戏行业
原文 The A-Z of new gaming terms | GamesIndustry.bizhttps://www.gamesindustry.biz/articles/2022-02-21- ...
- 每周记录(4月底停更了qvq)
1月6日 旋转卡壳 闵可夫斯基和 1月13日 期末复习 1月20日 网络流前4道题 一场失败的期末考试 写寒假作业 bzoj [HNOI2008]明明的烦恼(90分) prufer序列 正睿 画画图 ...
- DATA-轉載【数据科学】教你成为数据科学“大咖”!
2016-07-17 数据人网推荐 数据科学自媒体 随着互联网的迅猛发展,在线学习逐渐成为主流,MOOC.慕课等概念如雨后春笋般涌现.以往高等学府才能接触到的计算机科学和数据科学,也随着这次风潮来 ...
- 部署高可用的Lync Server 2013 Part 4 部署高可用的文件共享DFS
上面的几节中,我们部署好了两个SQL的群集分别用作lync的数据库和用来备份的Mirror镜像,以及另一个单台的见证SQL数据库和报表服务,并开通了防火墙. 在Lync 2013的部署中,我们还需要提 ...
- 【dfs】无穷迷宫(jzoj 3924)
无穷迷宫 jzoj 3924 题目大意 有一个n*m的迷宫,有墙(#),路(.),和你的位置(S),这个迷宫会复制无数份拼在一起,问你能不能不停地走下去 输入样例 2 5 4 ##.# ##S# #. ...
- 【dfs】树(jzoj 2753)
树 jzoj 2753 题目大意: 给你一棵树,每一个点都一个值,现在问你有多少条路径可以满足以下条件: 1.方向都是向下 2.路径上的点的值总和为S 输入样例 3 3 1 2 3 1 2 1 3 输 ...
- 【dfs】家族(jzoj 1985)
家族 jzoj 1985 解题思路: 在一个只含空格,'*'号和小写字母的图上,问有多少个连在一起(上下左右四个方向)的小写字母块 输入样例 4 *zlw**pxh l*zlwk*hx* w*tyy* ...
- 蓝桥杯2013年国赛A组——网络寻路(DFS和中转边巧解)
蓝桥杯2013年国赛A组--网络寻路 1.题目描述 2.输入输出 3.样例输入和输出 4.题目分析 1.首先明确,题目中的目的地有两种,一种是回到原点,一种是到达没有到达的地方 2.在路径中经过的点不 ...
- 2013年山东省第四届ACM大学生程序设计竞赛 Problem I Thrall’s Dream 图,2n遍dfs
Thrall's Dream Time Limit: 1000MS Memory limit: 65536K 题目描述 We never paid any heed to the ancient pr ...
最新文章
- 认识AndEngine选自Android 2D游戏引擎AndEngine快速入门教程
- 做爱做的事,做有快感的事
- 云计算数据挖掘Mahout下的机器学习
- python isnumber_Python正课18 —— 基本数据类型 - 字符串类型
- linux 脚本 expected,Linux | shell与expect结合使用
- html5--5-4 绘制矩形
- oracle net conf启动无反应,weblogic突然无法启动,显示Server state changed to FORCE
- python求偏度系数_python pandas库和stats库计算偏度和峰度(附程序)
- Centos中安装svnserver
- [免费专栏] Android安全之Android工程模式
- linux 中文显示乱码解决办法
- FatFs(通用FAT文件系统模块)下载与介绍
- 微信小程序input组件里,自动聚焦focus没反应
- 消息队列返回错误:Resource temporarily unavailable
- 电话机上面的接头RJ11
- 中国大学MOOC-陈越、何钦铭-数据结构-习题解答-04 树(中)
- 淘宝奇葩店铺:一个人的皇冠店|视频
- ASML终于认识到它的未来在哪里,进一步向中国市场靠拢
- Pycharm十大常用快捷键
- LINUX漏洞复现篇之ShellShock漏洞
热门文章
- java 监听文件内容_java 监听文件内容变化
- 数据结构——从叶子结点到根节点的全部路径
- leetcode707:设计链表(增删差)
- 每天一小时python官方文档学习(七)————模块与包
- Redux从入门到进阶,看这一篇就够了!
- Java继承-子类不可以继承父类的构造方法
- PHP自动判断用户会员过期,php,_定时扣除用户过期积分,但平台用户量比较大,有没有好的解决方法?,php - phpStudy...
- python中开关_pyq中的开关按钮
- python面向对象语言_Python语言基础之——面向对象编程
- ad中电容用什么封装_二极管在电路中到底做什么用的