赞
踩
深搜枚举所有可能方案
#include<iostream> using namespace std; int ans = 0; void dfs(int index, int a, int b){ if(index > 7){//七个小朋友都安排完了,则结束 if(a == b && !a) ans++;//两种糖果都恰好分完的为一种方案 return; } for(int i = 0; i <= a; i++){ for(int j = 0; j <= b; j++){ if(i + j > 1 && i + j < 6) dfs(index + 1, a - i, b - j);//满足条件的为当前小朋友分完,继续下一位 } } } int main(){ dfs(1, 9, 16); printf("%d", ans); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。