[蓝桥杯2015初赛]牌型种数
利用dfs,找到一个路径长度为13的路。
同时还要注意k,用来控制走了几次,走了13次
#include <iostream> #include <cstdio> using namespace std; long long ans; // cnt 计算已经拿取的张数 // k就是控制递归时,控制一直取0(也就是不拿)的情况 void dfs(int cnt, int k) { if (cnt == 13) ans++; if (cnt >= 13 || k >= 13) return; for (int i = 0; i <= 4; i++) dfs(cnt+i, k+1); } int main( ) { ans = 0; // 初始化张数为0,拿的次数初始为0 dfs(0, 0); cout << ans << endl; return 0; }