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

HDU 5643 King's Game | 约瑟夫环变形

时间:2017-09-03 01:13:50      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:strong   i++   long   clu   define   pre   space   scan   logs   

 

 

经典约瑟夫环

1 int f[N] ={ 0 };
2 for(int i=2; i<=n; i++)
3 {
4         f[i] = (f[i-1] + k) % i;
5 }   

变形:k是变化的

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
#include <queue>
#include <map>
 
using namespace std;
 
typedef long long LL;
 
#define met(a, b) memset(a, b, sizeof(a))
#define INF 0x3f3f3f3f
#define N 5210
 
int main()
{
    int T, n, f[N] = { 0 };
     
    scanf("%d", &T);
     
    while(T--)
    {
        scanf("%d", &n);
         
        int k = n-1;
         
        for(int i=2; i<=n; i++)
        {
            f[i] = (f[i-1] + k) % i;
             
            k --;
        }
        printf("%d\n", f[n] + 1);
    }
    return 0;
}

 

HDU 5643 King's Game | 约瑟夫环变形

标签:strong   i++   long   clu   define   pre   space   scan   logs   

原文地址:http://www.cnblogs.com/kimsimple/p/7468431.html

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