通行证

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)相关推荐

  1. 从A至Z,用30个单词来概括过去十年的游戏行业

    原文 The A-Z of new gaming terms | GamesIndustry.bizhttps://www.gamesindustry.biz/articles/2022-02-21- ...

  2. 每周记录(4月底停更了qvq)

    1月6日 旋转卡壳 闵可夫斯基和 1月13日 期末复习 1月20日 网络流前4道题 一场失败的期末考试 写寒假作业 bzoj [HNOI2008]明明的烦恼(90分) prufer序列 正睿 画画图 ...

  3. DATA-轉載【数据科学】教你成为数据科学“大咖”!

    2016-07-17  数据人网推荐  数据科学自媒体 随着互联网的迅猛发展,在线学习逐渐成为主流,MOOC.慕课等概念如雨后春笋般涌现.以往高等学府才能接触到的计算机科学和数据科学,也随着这次风潮来 ...

  4. 部署高可用的Lync Server 2013 Part 4 部署高可用的文件共享DFS

    上面的几节中,我们部署好了两个SQL的群集分别用作lync的数据库和用来备份的Mirror镜像,以及另一个单台的见证SQL数据库和报表服务,并开通了防火墙. 在Lync 2013的部署中,我们还需要提 ...

  5. 【dfs】无穷迷宫(jzoj 3924)

    无穷迷宫 jzoj 3924 题目大意 有一个n*m的迷宫,有墙(#),路(.),和你的位置(S),这个迷宫会复制无数份拼在一起,问你能不能不停地走下去 输入样例 2 5 4 ##.# ##S# #. ...

  6. 【dfs】树(jzoj 2753)

    树 jzoj 2753 题目大意: 给你一棵树,每一个点都一个值,现在问你有多少条路径可以满足以下条件: 1.方向都是向下 2.路径上的点的值总和为S 输入样例 3 3 1 2 3 1 2 1 3 输 ...

  7. 【dfs】家族(jzoj 1985)

    家族 jzoj 1985 解题思路: 在一个只含空格,'*'号和小写字母的图上,问有多少个连在一起(上下左右四个方向)的小写字母块 输入样例 4 *zlw**pxh l*zlwk*hx* w*tyy* ...

  8. 蓝桥杯2013年国赛A组——网络寻路(DFS和中转边巧解)

    蓝桥杯2013年国赛A组--网络寻路 1.题目描述 2.输入输出 3.样例输入和输出 4.题目分析 1.首先明确,题目中的目的地有两种,一种是回到原点,一种是到达没有到达的地方 2.在路径中经过的点不 ...

  9. 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 ...

最新文章

  1. 认识AndEngine选自Android 2D游戏引擎AndEngine快速入门教程
  2. 做爱做的事,做有快感的事
  3. 云计算数据挖掘Mahout下的机器学习
  4. python isnumber_Python正课18 —— 基本数据类型 - 字符串类型
  5. linux 脚本 expected,Linux | shell与expect结合使用
  6. html5--5-4 绘制矩形
  7. oracle net conf启动无反应,weblogic突然无法启动,显示Server state changed to FORCE
  8. python求偏度系数_python pandas库和stats库计算偏度和峰度(附程序)
  9. Centos中安装svnserver
  10. [免费专栏] Android安全之Android工程模式
  11. linux 中文显示乱码解决办法
  12. FatFs(通用FAT文件系统模块)下载与介绍
  13. 微信小程序input组件里,自动聚焦focus没反应
  14. 消息队列返回错误:Resource temporarily unavailable
  15. 电话机上面的接头RJ11
  16. 中国大学MOOC-陈越、何钦铭-数据结构-习题解答-04 树(中)
  17. 淘宝奇葩店铺:一个人的皇冠店|视频
  18. ASML终于认识到它的未来在哪里,进一步向中国市场靠拢
  19. Pycharm十大常用快捷键
  20. LINUX漏洞复现篇之ShellShock漏洞

热门文章

  1. java 监听文件内容_java 监听文件内容变化
  2. 数据结构——从叶子结点到根节点的全部路径
  3. leetcode707:设计链表(增删差)
  4. 每天一小时python官方文档学习(七)————模块与包
  5. Redux从入门到进阶,看这一篇就够了!
  6. Java继承-子类不可以继承父类的构造方法
  7. PHP自动判断用户会员过期,php,_定时扣除用户过期积分,但平台用户量比较大,有没有好的解决方法?,php - phpStudy...
  8. python中开关_pyq中的开关按钮
  9. python面向对象语言_Python语言基础之——面向对象编程
  10. ad中电容用什么封装_二极管在电路中到底做什么用的