100問解こう(1/100) SRM401 Div1 Easy FIELDDiagrams

問題文が理解しきれず、サンプル1から類推して解いた。
シンプルなDPで解けるのはすぐに分かったが、
書くのに時間がかかった上にちょっと汚いのが悲しいところ。

long long countDiagrams(int fieldOrder){
	long long dp[31][31];
        
        for (int i=0; i<=fieldOrder; i++)
            for (int j=0; j<=fieldOrder; j++)
                dp[i][j]=0;

        for (int i=1; i<=fieldOrder; i++)
            dp[1][i]=1;
        

        for (int i=1; i<fieldOrder; i++){
            for (int j=0; j<=fieldOrder-i+1; j++){
                for (int k=0; k<=j; k++){
                    dp[i+1][k] += dp[i][j];
                }
            }
        }
        
		return dp[fieldOrder][0]+dp[fieldOrder][1];
 	}