• 「LuoguP1145」 约瑟夫(打表


    Description


    n 个人站成一圈,从某个人开始数数,每次数到 m 的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。现在有一圈人, k 个好人站在一起, k 个坏人站在一起。从第一个好人开始数数。你要确定一个最小的 m ,使得在第一个好人被杀死前, k 个坏人先被杀死。

    感谢yh大神指出样例数据的错误。

    Input


    一个 k( 0 < k < 14 )

    Output


    一个 mmm

    Sample Input1


    3

    Sample Output1


    5

    Sample Input2


    4

    Sample Output2


    30

    题解


    鉴于数据范围极小,只需要

    暴力挂着机

    把暴力跑出来的东西打个表

    #include<iostream>
    using namespace std;
    int a[15]={0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881};
    using namespace std;
    int main()
    {
        int k;
        cin>>k;
        cout<<a[k];
        return 0;
    }
  • 相关阅读:
    luogu_1414 又是毕业季II
    luogu_1372 又是毕业季I
    luogu_1313 计算系数
    luogu_1134 阶乘问题
    luogu_1514 引水入城
    luogu_1120 小木棍
    文件操作
    快速排序
    c oth
    ANSI C与C89、C99、C11区别差异
  • 原文地址:https://www.cnblogs.com/qwerta/p/9379742.html
Copyright © 2020-2023  润新知