算法_动态规划_序关系计数问题

序关系计数问题
问题描述:
用关系“<”和“=”将3 个数A、B和C依序排列时有13 种不同的序关系:
A=B=C,A=B

import java.util.Scanner;

public class Main {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[][] dp=new int[n+1][n+1];
        for(int i=1;i<=n;i++){
            for(int j=0;j<=i-1;j++){
                if(j==0){
                    dp[i][0]=1;
                }else{
                    dp[i][j]=(j+1)*(dp[i-1][j-1]+dp[i-1][j]);
                }
            }
        }

        int sum=0;
        for(int i=0;i<=n;i++){
            sum+=dp[n][i];
        }

        System.out.println(sum);


    }

}

你可能感兴趣的:(算法)