趣题,猜数字
来源:互联网 发布:JS PDF 拆分 编辑:程序博客网 时间:2024/05/16 18:09
Poi 2004 pin
题意:pin码是一个十六进制的有4个元素的数组。现在要你猜pin码,对于一个数组a[i],表示i通过转换后是a[i],现在你可以询问b,a,表示pin码经过a转换是否是b数组。询问次数不超过30次。
首先的想法是必需一个个考虑。先求出pin中有哪些数字,但是这个数字可能出现多次。这样的枚举量是受不了的。所以转化为哪些没出现过,也就是哪些改了无影响。16次。
确定了后,考虑只有1个数字只填在一个位置的枚举量较小,称其为匹配。
S2:根据可能数字集大小K别处理。
K={a} Ans=aaaa。
K={a,b,c,d} 询问类似((0,1,1,1),(0,1,1,1))以确定某个位置是不是某个数字。
K={a,b,c} 枚举,若发现某数字x无法匹配到某位置,那么先匹配另外两个,则剩下的两个位置均为x。
K={a,b} 两种情况:abbb与aabb。若某次匹配成功,则剩下的都是另一个数字,否则枚举C(4,2)来确定a即可。
需要次数最多的为aabb,2*4+C(4,2)=14次。
完美解决。
- 趣题,猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- oracle中START WITH ... CONNECT BY PRIOR的用法
- android开发环境搭建遇到的问题(MyEclipse8.5+android sdk2.3+ADT-8.0.1
- 关于zend_file
- Oracle 层次查询(Connect By)
- C Programming for Embedded System
- 趣题,猜数字
- 2011年工作安排
- ETL数据抽取策略
- VC中临时窗口与持久窗口的对比
- 纽曼A15 连接电视 配置
- Metamodel of Facebook
- 增加自动扩展临时表空间及改变默认表空间
- 尽可能使用const
- 有一年春节