Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 32121 Accepted: 20178 Description
Input
Output
Sample Input
1 7 3 Sample Output
8 Source
lwx@POJ
在正整数N的所有不同的划分中,将最大加数n1不大于m的划分个数记作q(n, m),可以建立如下递归关系。 (1)q(n, 1)=1, n>=1; (2)q(n, m)= q(n, n), m>=n; (3)q(n, n)= 1+q(n, n-1); (4)q(n, m)= q(n, m-1)+q(n-m, m), n>m>1。
#include <iostream>using std::cout;using std::cin;using std::endl;int mathods(int m, int n);int main(void){ int t, M, N; cin>>t; while (t--) { cin>>M>>N; cout<< mathods(M, N); cout<<endl; } return 0;}int mathods(int m, int n){ if((m<1)||(n<1)) return 0; if((m==1)||(n==1)) return 1; if(m<n) return mathods(m, m); if(n==m) return mathods(m, n-1)+1; return mathods(m, n - 1)+ mathods(m - n, n);}新闻热点
疑难解答