标签:++ 今天 else 不能 描述 main amp ace cout
4
14
#include <bits/stdc++.h> using namespace std; int n; int ans = 0; int cnt1 = 0,cnt2 = 0; void dfs(int now) { if(cnt1>n||cnt2>n) { return; } if(now==2*n) { ans++; return; } else { if(cnt1<cnt2) { return; } else { cnt1++; dfs(now+1); cnt1--; cnt2++; dfs(now+1); cnt2--; } } } int main() { cin>>n; dfs(0); cout<<ans; return 0; }
要找开钱 只需要1块的数量大于等于2的数量 cnt1为1块的数量 cnt2为2块的数量
并且要注意边界cnt1 cnt2不能大于n
写这个题解的原因是 也许是今天写了很多搜索 这道题迷迷糊糊的写过了的 应该是感觉对了吧 (虽然刷的都是入门的题目)
dfs最重要的是判断每一次搜索改变的量是什么 边界条件是什么 就离AC很近了
标签:++ 今天 else 不能 描述 main amp ace cout
原文地址:https://www.cnblogs.com/hao-tian/p/9351399.html