메뉴 건너뛰기

Programing

Code Up

2657

관리자 2019.12.20 19:23 조회 수 : 21

C++

#include <cstdio>

#include <cstring>

using namespace std;

int N,K;

int dt[40][40][2];

int serch(int k,int n,int nm){

    if(k==0){

        return 1;

    }

    if(k >= n && n != 1)

        return 0;

    /*if(n<=0){

        return 0;

    }

    if(n==1)

    {

        if(nm!=0 || k > 1)

            return 0;

        return 1;

    }*/

 

    if(dt[k][n][nm]!=-1)

        return dt[k][n][nm];

    if(nm==0){

        return dt[k][n][nm]=serch(k-1,n-1,1)+serch(k,n-1,0);

    }else{

        return dt[k][n][nm]=serch(k-1,n-2,0)+serch(k,n-1,0);

    }

}

int main()

{

    memset(dt,-1,sizeof(dt));

    scanf("%d %d",&N,&K);

    printf("%d",serch(K,N,1));

    return 0;

}

번호 제목 글쓴이 날짜 조회 수
공지 안내사항 관리자 2019.12.02 175
172 3703 관리자 2019.12.20 8
171 3701 관리자 2019.12.20 9
170 3520 관리자 2019.12.20 8
169 3120 관리자 2019.12.20 8
168 3023 관리자 2020.04.06 60
167 3022 관리자 2020.04.06 51
166 3021 관리자 2020.04.06 63
165 3009 관리자 2019.12.20 8
164 3008 관리자 2019.12.20 6
163 3007 관리자 2019.12.20 7
162 3006 관리자 2019.12.20 14
161 2748 관리자 2019.12.20 9
» 2657 관리자 2019.12.20 21
159 2652 관리자 2019.12.20 7
158 2641 관리자 2019.12.20 7
157 2634 관리자 2019.12.20 6
156 1953 관리자 2019.12.20 7
155 1936 관리자 2019.12.20 7
154 1925 관리자 2019.12.20 7
153 1525 관리자 2019.12.20 9
152 1505 관리자 2019.12.20 7
151 1476 관리자 2019.12.20 3
150 1162 관리자 2019.12.20 7
149 1161 관리자 2019.12.20 7
148 1160 관리자 2019.12.20 7
147 1159 관리자 2019.12.20 5
146 1158 관리자 2019.12.20 5
145 1157 관리자 2019.12.20 10
144 1156 관리자 2019.12.20 7
143 1155 관리자 2019.12.20 5
위로