码迷,mamicode.com
首页 > 其他好文 > 详细

joseph

时间:2015-10-18 16:47:22      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

约瑟夫(joseph)

源程序名       joseph.???  (pas,c,cpp)

可执行文件名   joseph.exe

输入文件名     joseph.in

输出文件名     joseph.out

时限           2s

n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。

现在有一圈人,k个好人站在一起,k个坏人站在一起。从第一个好人开始数数。

你要确定一个最小的m,使得在第一个好人被杀死前,k个坏人先被杀死。

 

输入

一个k,0<k<14

输出

一个m

 

样例:

joseph.in

3

joseph.out

5

另一个样例:

joseph.in

4

joseph.out

30

 

说明:

    翻译自uva305,数据及解答由uva提供。

思路:搜索超时,所以……打表……

program aa;
const
    x:array[1..13] of longint=(2, 7, 5, 30, 169, 441, 1872, 7632, 1740, 93313, 459901, 1358657,2504881);
var n:longint;
begin
    assign(input,joseph.in);
    assign(output,joseph.out);
    reset(input);
    rewrite(output);
    readln(n);
    writeln(x[n]);
    close(input);
    close(output);
end.

 

joseph

标签:

原文地址:http://www.cnblogs.com/liuxinyu/p/4889628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!