zoukankan      html  css  js  c++  java
  • UVA 10940 Throwing cards away II

    题意略;

    先暴力打表发现规律

    N=1 ans=1
    N=2 ans=2
    N=3 ans=2
    N=4 ans=4
    N=5 ans=2
    N=6 ans=4
    N=7 ans=6
    N=8 ans=8
    N=9 ans=2
    N=10 ans=4
    N=11 ans=6
    N=12 ans=8
    N=13 ans=10
    N=14 ans=12
    N=15 ans=14
    N=16 ans=16
    N=17 ans=2
    N=18 ans=4
    N=19 ans=6
    N=20 ans=8
    N=21 ans=10
    N=22 ans=12
    N=23 ans=14
    N=24 ans=16
    N=25 ans=18
    N=26 ans=20
    N=27 ans=22
    N=28 ans=24
    N=29 ans=26
    N=30 ans=28
    N=31 ans=30
    N=32 ans=32

    这规律很明显了就略了。。直接上代码了

    #include <map>
    #include <set>
    #include <list>
    #include <cmath>
    #include <ctime>
    #include <deque>
    #include <stack>
    #include <queue>
    #include <cctype>
    #include <cstdio>
    #include <string>
    #include <vector>
    #include <climits>
    #include <cstdlib>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define LL long long
    #define PI 3.1415926535897932626
    using namespace std;
    int gcd(int a, int b) {return a % b == 0 ? b : gcd(b, a % b);}
    #define MAXN 500003
    vector<int>tab[20];
    int num[20];
    int N;
    void init()
    {
        for (int i=0;i<20;i++) tab[i].clear();
        tab[0].push_back(1);
        for (int i=1;i<20;i++)
        {
            int limit=1<<i;
            int cas=2;
            while (cas<=limit)
            {
                tab[i].push_back(cas);
                cas+=2;
            }
        }
        num[0]=1;
        for (int i=1;i<20;i++) num[i]=num[i-1]+tab[i].size();
    }
    int main()
    {
        init();
        while (scanf("%d",&N)!=EOF)
        {
            if (N==0) break;
            if (N==1) {puts("1");continue;}
            int cas=0,i;
            for ( i=0;i<20;i++)
            {
                cas+=tab[i].size();
                if (cas>=N) break;
            }
            int tmp=N-num[i-1];
            printf("%d
    ",tab[i][tmp-1]);
        }
        return 0;
    }
  • 相关阅读:
    数据持久化
    计算机中的上下文
    URL
    MVC之Control中使用AOP
    富客户端
    一些术语的解释
    docker mysql 安装
    用C#开发Windows服务
    java 图片文件Base64编码与二进制编码格式互相转换
    Camera打开前置摄像头或后置摄像头
  • 原文地址:https://www.cnblogs.com/Commence/p/3980249.html
Copyright © 2011-2022 走看看