poj 1664 put apples
题目链接:http://poj.org/problem?id=1664
思路:
数据较小,考虑深度优先搜索搜索解空间。
代码:
#include <iostream> using namespace std; int M, N, Count = 0; void dfs( int deep, int x, int put ) { if ( deep == N ) { if ( put == M ) Count++; else return; } else { for ( int i = x; i <= M; ++i ) { if ( put + i > M ) break; dfs( deep+1, i, put+i ); } } } int main() { int t; cin >> t; while ( t-- ) { Count = 0; cin >> M >> N; dfs( 0, 0, 0 ); cout << Count << endl; } return 0; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。