题意:约瑟夫环的变形。要求寻找到一个杀人循环节m使后半节的坏人先被所有杀光。

直接链表模拟出结果,再打表即可;

代码:(凝视的是打表码)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<map>
#include<queue>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
/*
int l[30],r[30]; int main()
{
int k=1;
//while(~scanf("%d",&k)&&k)
for(k=1;k<14;k++)
{
k*=2;int ans=0;
for(int i=1;1;i++)
{
memset(r,0,sizeof r);
memset(l,0,sizeof l);
for(int j=1;j<=k;j++)
r[j]=j+1,l[j]=j-1;
r[k]=1;l[0]=k;
int dead=0,flag=1;
for(int num=1,x=1;dead!=k/2;x=r[x],num++)
{
if(num!=i)
if((i-num)/(k-dead)&&(i-num)%(k-dead)>0)num+=(i-num)/(k-dead)*(k-dead);
else ;
else if(x>k/2)num=0,l[r[x]]=l[x],r[l[x]]=r[x],dead++;
else {flag=0;break;}
}
if(flag){ans=i;break;}
}
printf("%d,",ans);
k/=2;
}
return 0;
}
*/
int da[]={2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881}; int main()
{
int n;
while(~scanf("%d",&n)&&n)
{
printf("%d\n",da[n-1]);
}
return 0;
}

POJ 1012 Joseph(打表题)的更多相关文章

  1. POJ 1012 Joseph 推导,暴力,约瑟夫环,打表 难度:2

    http://poj.org/problem?id=1012 答案以954ms飘过,不过这道题可以轻松用打表过 思路:如果我们把每个人位于数组中的原始编号记为绝对编号,每次循环过后相对于绝对编号为0的 ...

  2. POJ 1012 Joseph 约瑟夫问题

    http://poj.org/problem?id=1012 早上去图书馆复习苦逼的复习....万恶的数逻.T T我还要自我安慰的说复习完了奖励回来刷水题~ 10点多的时候外面校运会大吼撑杆跳的那个. ...

  3. POJ 1012 Joseph

    Joseph Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44650   Accepted: 16837 Descript ...

  4. poj 1012 Joseph (约瑟夫问题)

    Joseph Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 47657   Accepted: 17949 Descript ...

  5. poj 1012 &amp; hdu 1443 Joseph(约瑟夫环变形)

    题目链接: POJ  1012: id=1012">http://poj.org/problem?id=1012 HDU 1443: pid=1443">http:// ...

  6. poj 1012——Toseph

    提交地址:http://poj.org/problem?id=1012                                                                 ...

  7. POJ 1488 Tex Quotes --- 水题

    POJ 1488 题目大意:给定一篇文章,将它的左引号转成 ``(1的左边),右引号转成 ''(两个 ' ) 解题思路:水题,设置一个bool变量标记是左引号还是右引号即可 /* POJ 1488 T ...

  8. Sliding Window POJ - 2823 单调队列模板题

    Sliding Window POJ - 2823 单调队列模板题 题意 给出一个数列 并且给出一个数m 问每个连续的m中的最小\最大值是多少,并输出 思路 使用单调队列来写,拿最小值来举例 要求区间 ...

  9. POJ 1012:Joseph

    Joseph Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 50068   Accepted: 19020 Descript ...

随机推荐

  1. windows服务器剪贴板不能共用的解决办法

    远程桌面无法使用剪贴板共享纯文本的解决方法========================================以下操作须在远程桌面上操作,本地机没用的!================== ...

  2. Windows 8.1硬盘安装Ubuntu 14.04双系统

    Windows 8.1硬盘安装Ubuntu 14.04双系统 学习了: http://www.jb51.net/os/windows/298507.html http://www.linuxidc.c ...

  3. 【源代码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)

    帮朋友做的,好像是一个面试题.假设不过考察递归的话.应该是够了,程序的健壮性和通用性都非常一般的说-- #include <stdio.h> #include <stdlib.h&g ...

  4. ThinkPHP5.0框架开发--第7章 TP5.0数据库操作

    ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...

  5. 使用wpa_supplicant连接WIFI

    让树莓派可以开机就连接制定的wifi, 可以通过wpa_supplicant来实现. 在 /etc/wpa_supplicant 下写一个配置文件: wpa_supplicant.conf 内容如下: ...

  6. 计算label

    func getCGSize(size:CGSize,fontSize:CGFloat,text:String)->CGSize{ let attributes = [NSFontAttribu ...

  7. 移动端1px细线问题

    1可以用伪类实现 .con{position: relative;.con:before { content: " "; position: absolute; left: 0; ...

  8. HD-ACM算法专攻系列(5)——N!

    题目描述: 源码: #include"iostream" using namespace std; int main() { int n, digit, carry, tmp; i ...

  9. MyBatis数据持久化(四)类型别名

    Mybatis的类型别名指的是我们可以为Java类型自定义一个简短的名字,以达到简化配置的目的,在上篇博文中我们的sql语句配置文件内容如下: <?xml version="1.0&q ...

  10. Epplus做Excel的数据透视

    //表格的范围需要自己定义 var epplus = new ExcelPackage(); var sheet = epplus.Workbook.Worksheets.Add("Shee ...