1012
来源:互联网 发布:联通软件研究院待遇 编辑:程序博客网 时间:2024/05/19 20:40
算法来自:http://blog.csdn.net/ericxieforever/archive/2008/04/27/2335646.aspx
分析:题目数据量太小,直接模拟Joseph暴力打表也能过。这里介绍一下递推法测试。
先引入Joseph递推公式,设有n个人(0,...,n-1),数m,则第i轮出局的人为f(i)=(f(i-1)+m-1)%(n-i+1),f(0)=0;依次我们可以来做测试,只要前k轮中只要有一次f(i)<k则此m不符合题意。接下来我们考察一下只剩下k+1个人时候情况,那么依题意则这一轮出局的人要么在上一轮出局人的左边,要么就在右边,设上一轮出局的人为x,则必有m%(k+1)==0或1(还不明白就看下面两个序列表示的k+2人的情况(G表示好人,共有k个,B表示坏人,X表示上一轮出局的人)GG....GGBX,GG...GGXB)。所以测试数为t(k+1)或t(k+1)+1,t>=1。
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 1012
- 迭代模式
- 观察者模式(ObServer)
- Android的垃圾回收机制(android refbase类(sp wp))
- 面向对象编程已死
- js中undefined,null,NaN的区别
- 1012
- UART
- 4.2.2 计算数据
- asp.net 日期控件 My97DatePicker
- java httpurlconnection 发送cookie时,cookie要在Post前发送
- 传智播客-ejb3(1)-理解应用服务器、分布式应用和ejb服务
- [C#] 操作WORD檔(Microsoft.Office.Interop.Word)(doc檔)
- eclipse调试以及step into step over step return区别
- ubuntu10.10的cvs安装教程总结