机房水题欢乐赛 2016-04-26 上午
2016-04-25 09:11
281 查看
Command
【题目描述】
我们现在来讨论一种机器的抽象模型。这种机器有一个有限的状态集S={s0,s1,s2..sn}和一个有限的指令集C={c0,c1,c2…cm} 。机器在任意时刻都处于某
一种状态s∈S 。同时,机器还有一个转移函数f : S x C->S ,表示机器在当前状态下接
到某个指令之后会转移到的状态,亦即机器在状态s下接到指令c后状态会变成f (s,c)。
现在对于一个机器的实例,你需要计算一个最短的指令序列,使得对于任意一个状态s ,按照顺序经过序列中的所有指令之后机器一定会处于状态s0 。
【输入描述】
第一行:|S|和|C|接下来|S|行,每行|C|个整数。若输入文件中的行和列均从1开始标号,那么第i行j列的数k则表示为f( Si-2 , Cj-1 ) = Sk (0<=k<|S|)
【输出描述】
输出你求得的最短指令序列。你需要将指令的下标连续输出,并且输出下标的十六进制值,表示法中的字母用小写字母表示。若最短的序列不唯一,输出任一个即可。若这样的序
列不存在,输出impossible。
【输入样例】
3 60 2 2 0 0 2
1 1 0 0 0 1
1 0 1 2 2 2
【输出样例】
03【样例解释】
对于s0, f(s0,c0)=s0, f(s0,c3)=s0对于s1, f(s1,c0)=s1,f(s1,c3)=s0
对于s2,f(s2,c0)=s1,f(s1,c3)=s0
【数据约定】
对于全部数据保证|S|,|C|<=16,输入数据保证合法Solution
bitset压状态,bfs一下就好了。Critical Network Lines
net,3 sec,64mb给出一个无向连通图,即在任一个点对间存在路径。有的点提供服务a, 有的点提供服务b 。同一个点可能有两种服务类型。每个点必须与提供2种服务的点连通。如果一个边断掉,就可能出现有些点不能被服务到,那么这条边就称为关键边。你的任务是找出关键边数量以及每条关键边。
输入
第一行是整数N,M,K,L (1<=N<=100000, 1<=M<=1000000, 1<=K<=N,1<=L<=N)。N是图节点数;M是边数;k是提供服务a的点个数;L是提供服务b的点个数。第二行有K个数,每个数表示提供服务a的节点。第三行有L个数,每个数表示提供服务b的节点。接下来M行,每行两个不同的数,他们表示一条边的两个节点。输出
第一行是一个整数S,它是关键边的数量。接下来S行,以任意顺序输出这些关键边。样例输入
9 10 3 42 4 5
4 9 8 3
1 2
4 1
2 3
4 2
1 5
5 6
6 7
6 8
7 9
8 7
样例输出
33 2
5 6
7 9
Solution
关建边肯定是桥,Tarjan搞一下就好了。A和B分开搞。
Game
JSOI 2009NOI 2011 Day2 T3
待续。。
相关文章推荐
- QVariant
- Bootstrap每天必学之响应式导航、轮播图
- redis的基本类型及操作命令
- 服务器上传,时间超时 Apache 如何设置保持连接
- 设计模式读书笔记之组合模式(Composite)
- 《巴黎圣母院》读后感
- 2Gb_DDR3_SDRAM——16 Meg x 16 x 8 Banks
- 服务器中文件夹权限
- Android多媒体分析(二)MediaStore
- React学习笔记---Props&State
- HTML5的progress元素
- 设计模式读书笔记之桥接模式(bridge pattern)
- 053(四十八)
- Java遍历集合方法分析(实现原理、算法性能、适用场合)
- iOS开发~CocoaPods使用详细说明
- 155. Min Stack
- 设计模式读书笔记之命令模式(Command Pattern)
- 新名词,要了解的
- 数据库ACID
- Linux下php安装Redis扩展