AcWing 1050. 鸣人的影分身
原题链接
中等
作者:
季之秋
,
2021-03-26 23:32:22
,
所有人可见
,
阅读 369
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
while(t--!=0){
int m=sc.nextInt();
int n=sc.nextInt();
int f[][]=new int[40][40];
for(int i=0;i<40;i++) f[i][0]=1; // j==0 时 f[i][0] = f[i-1][0] = f[i-2][0] = f[0][0] = 1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){ // f[i][0]: i个数和为0,i个0为
f[i][j] = f[i-1][j];
if(j>=i) f[i][j]+=(f[i][j-i]); // j==0 不执行
}
}
System.out.println(f[n][m]); //前n个数里正好加起来等于n的数量
}
}
}