[poj1012]Joseph_Joseph
Joseph
题目大意:给你2*k个人,前k个是好人,后k个是坏人,编号从1到2*k。每次从上一个死掉的人的下一个开始查m个人并将第m个人杀死。问最后剩下的全是好人的m是多少。
注释:$1\le k \le 14$。
想法:开始觉得自己想的有些简单,然后发现其实就是这码事。dp。
dp状态:ans[i]表示第i个死的人
转移方程:类似于Joseph问题,我们在递推时不断更改m的值,最终使得答案成立。
最后,附上 丑陋的代码... ...
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int ans[30];
int Joseph[15];
// int Joseph[]={0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881,1245064};//表
int main()
{
int k;
while(1)
{
scanf("%d",&k);
if(!k) break;
if(Joseph[k])
{
continue;
}
memset(ans,0,sizeof ans);
int n=2*k;
int m=k+1;
for(int i=1;i<=k;i++)
{
ans[i]=(ans[i-1]+m-1)%(n-i+1);
if(ans[i]<k)
{
i=0;
m++;
}
}
Joseph[k]=m;
printf("%d\n",m);
}
return 0;
}
小结:有趣qwq
[poj1012]Joseph_Joseph的更多相关文章
- 【poj1012】 Joseph
http://poj.org/problem?id=1012 (题目链接) 半年前的考试题..任然清晰的记得那次差10分就AK... 题意 约瑟夫环,有前k个好人,后k个坏人,要求使得后k个坏人先死的 ...
- poj1012
Joseph Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 52097 Accepted: 19838 Descript ...
- poj1012.Joseph(数学推论)
Joseph Time Limit: 1 Sec Memory Limit: 64 MB Submit: 493 Solved: 311 Description The Joseph's prob ...
- poj1012约瑟夫
#include<stdio.h>int a[14];int f(int k,int m){ int n,i,s; n=2*k;s=0; for(i=0;i<k;i ...
- [POJ1012]Joseph
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 50596 Accepted: 19239 Description T ...
- 北大poj- 1012
Joseph Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 56348 Accepted: 21526 Descript ...
- POJ1012(约瑟夫问题)
1.题目链接地址 http://poj.org/problem?id=1012 2k个人,前面k个是好人,后面k个是坏人,找一个数t,每数到第t时就去掉,使所有坏人在好人之前被杀掉. 思路:约瑟夫公式 ...
- 约瑟夫环问题poj1012
题意: 有k个坏人k个好人坐成一圈,前k个为好人(编号1~k),后k个为坏人(编号k+1~2k) 现在有一个报数m,从编号为1的人开始报数,报到m的人就要自动死去. 问当m为什么值时,可以使得在出现好 ...
- ACM训练计划建议(写给本校acmer,欢迎围观和指正)
ACM训练计划建议 From:freecode# Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...
随机推荐
- 【linux】linux下能ping通ip 但是不能ping通域名
经过一翻查找后解决了,原因和方法如下: [root@~]# grep host /etc/nsswitch.conf#hosts: db files nisplus nis dnshosts: ...
- EDKII Build Process:EDKII项目源码的配置、编译流程[三]
<EDKII Build Process:EDKII项目源码的配置.编译流程[3]>博文目录: 3. EDKII Build Process(EDKII项目源码的配置.编译流程) -> ...
- R语言︱文本挖掘套餐包之——XML+SnowballC+tm包
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言︱文本挖掘套餐包之--XML+tm+Sn ...
- JavaScript通过ID和name设置样式
JavaScript通过ID和name设置样式 1.说明 (1)根据所提供的元素的id值,返回对该元素的引用或节点 document.getElementById("tr_th") ...
- org.hibernate.MappingException
1.错误描述 org.springframework.beans.factory.BeanCreationException:Error creating bean with name 'sessio ...
- Java和Flex整合报错(二)
1.错误原因 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...
- bit 和 byte
bit bit是计算机的最小的存储单元,一切数据最终都以bit的形式存放在计算机之中. 一个bit有且只有两种状态.要么是0,要么是1.像这样: 多个bit组合在一起就可以构成更复杂的数据.例如,8个 ...
- SpringMVC工作流程描述
向服务器发送HTTP请求,请求被前端控制器 DispatcherServlet 捕获. DispatcherServlet 根据 <servlet-name>-servlet.xml 中的 ...
- 在TextBox中敲击回车执行ASP.NET后台事件
1.在TextBox中敲击回车执行ASP.NET后台事件 0.说明 页面中有一个用于搜索的TextBox,希望能在输入内容后直接回车开始搜索,而不是手动去点击它旁边的搜索按钮 但因为该TextBo ...
- [BZOJ1880] [Sdoi2009] Elaxia的路线 (SPFA & 拓扑排序)
Description 最近,Elaxia和w**的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间.Elaxia和w**每天都要奔波于宿舍和实验室之间, ...