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;
}
댓글 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 |