题目
思路
最后一次一定是花。
AC代码
#include <bits/stdc++.h>
using namespace std;
int n, m, x; //店 花 酒
int buyDrinkWine(int store, int flower, int wine) {
//依题意最后一次一定为花
int cnt = 0;
if (store > n or flower > m - 1)
return 0;
if (flower == m - 1 and store == n) {
if (wine == 1)
return 1;
else
return 0;
}
cnt += buyDrinkWine(store + 1, flower, wine * 2);
cnt += buyDrinkWine(store, flower + 1, wine - 1);
return cnt;
}
int main() {
cin >> n >> m >> x;
cout << buyDrinkWine(0, 0, x);
}
后记
卑微补作业罢了。