zoukankan      html  css  js  c++  java
  • 校赛-种树

    /*

    萌樱花的后院有n个树坑,所有树坑排列在一行上,每一个树坑都可以种一棵树,相邻树坑间的距离为1,现在所有的树坑都是空着的。

    作为一只单身狗,他决定种上至少k棵树来保护环境。

    为了让树苗宝宝健康快乐地生长,他要求任意两棵树之间的距离至少为m,请问这样种树的方案数是多少?

    输入

    1<=n,k,m<=21

    输入格式:

    n k m

    输出

     输出种树的方案数

    样例输入

    3 2 2

    样例输出

    1


    */
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
     
    using namespace std;
    int a[100];
     
    int main()
    {
        int n,m,k;
        while(~scanf("%d%d%d",&n,&k,&m))
        {
            int ans=0;
            for(int i=0; i<(1<<n); ++i)
            {
                int cnt=0;
                memset(a,0,sizeof(a));
                int num=i;
                while(num!=0)
                {
                    a[cnt++]=num%2;
                    num=num/2;
                }
                int count=0;
                num=1;
                bool f=true;
                for(int j=0; j<cnt; ++j)
                {
                    if(a[j]==1)
                    {
                        if(num<m&&j!=0)
                            f=false;
                        count++;
                        num=1;
                    }
                    else
                        num++;
                }
                if(f&&count>=k)
                    ans++;
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    冒泡 选择 二分法 算法 排序算法
    VUE -->html
    tlplayer for wince 版本正式商用
    XBMC 最新版本错误
    libvlc 双击,鼠标事件消息响应
    windows平台下VLC2.0.5编译
    Fedora 17下交叉编译vlc-2.0.6-win32小记
    wzplayer for ios 针对(mms)优化版本V1.0
    wzplayer2 for windows ActiveX 试用地址
    wzplayer,tlplayer支持ActiveX
  • 原文地址:https://www.cnblogs.com/jxust-jiege666/p/6475703.html
Copyright © 2011-2022 走看看