#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<typeinfo>
#include<sstream>
#include<fstream>
#include<algorithm>
using namespace std;
int r[20][20]; //用a[i][j]表示i个苹果放j个盘子里
const int m=7,n=3;
int main()
{
//流程图!!
//1.设置特殊
for(int i=0;i<=n;i++){
r[1][i] = 1; //将1/0个苹果放到盘子中,均为一种
r[0][i] = 1;
}
for(int i=0;i<=m;i++){
r[i][1] = 1; //将苹果放到1/0盘子中,均为一种
r[i][0] = 1;
}
//2.正常遍历
for(int i=2;i<=m;i++){ //外面i为主元
for(int j=2;j<=n;j++){
if(i<j){ //苹果 < 盘子
//当i=j时,r[i][j] = r[i][i]就是自己瞎玩
r[i][j] = r[i][i]; //多出的碗当摆设 -> 去除
}else{ //苹果 > 盘子
r[i][j] = r[i-j][j] + r[i][j-1];
}
}
}
cout << r[m][n];
}
//cout << "输入:";
结果:
