zoukankan      html  css  js  c++  java
  • POJ 1012: Joseph

    //分析:从一开始枚举,做一下记忆化防超时。。
    #include <iostream>
    #include <string>
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <deque>
    #include <map>
    #define range(i,a,b) for(int i=a;i<=b;++i)
    #define LL long long
    #define rerange(i,a,b) for(int i=a;i>=b;--i)
    #define fill(arr,tmp) memset(arr,tmp,sizeof(arr))
    using namespace std;
    int p[55],Jos[15],k;
    void init(){
    
    }
    void solve(){
        while(cin>>k,k){
            if(Jos[k]){
                cout<<Jos[k]<<endl;
                continue;
            }
            int n=(k<<1),m=1;
            p[0]=0;
            range(i,1,k){
                p[i]=(p[i-1]+m-1)%(n-i+1);
                if(p[i]<k){
                    i=0;
                    ++m;
                }
            }
            Jos[k]=m;
            cout<<m<<endl;
        }
    }
    int main() {
        init();
        solve();
        return 0;
    }
    View Code
  • 相关阅读:
    POJ 3140 Contestants Division (树形DP,简单)
    POJ 2378 Tree Cutting (树的重心,微变形)
    js数据类型--对象&数组
    关于JS call apply 对象、对象实例、prototype、Constructor、__proto__
    JS模块化编程(四)--require应用
    JS模块化编程(三)
    利用VS正则替换删除文本行首数据等字符
    JS模块化编程(二)
    JS模块化编程(一)
    js继承
  • 原文地址:https://www.cnblogs.com/Rhythm-/p/9338695.html
Copyright © 2011-2022 走看看