1742. FIELDDiagrams
Constraints
Time Limit: 5 secs, Memory Limit: 32 MB
Description
A Ferrers diagram of the partition of positive number n = a1 + a2 + ... + ak, for a list a1, a2, ..., ak of k positive integers with a1 ≥ a2 ≥ ... ≥ ak is an arrangement of n boxes in k rows, such that the boxes are left-justified, the first row is of length a1, the second row is of length a2, and so on, with the kth row of length ak. Let's call a FIELD diagram of order fieldOrder a Ferrers diagram with a1 ≤ fieldOrder, a2 ≤ fieldOrder - 1, ..., ak ≤ fieldOrder - k + 1, so a FIELD diagram can have a number of rows which is less than or equal to fieldOrder. You will be given fieldOrder, and calculate the total number of FIELD diagrams of order fieldOrder.
Input
The input contains several test cases.
Each test case contains only one integer, representing fieldOrder (1<=fieldOrder<=30).
The input will be terminated by EOF.
Output
For each test case, output the total number of FIELD diagrams of order fieldOrder.
Sample Input
2 3 5
Sample Output
4 13131
// Problem#: 1742 // Submission#: 3256111 // The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License // URI: http://creativecommons.org/licenses/by-nc-sa/3.0/ // All Copyright reserved by Informatic Lab of Sun Yat-sen University #include <stdio.h> int main() { long long d[33][33],s; int i,j; for(i=1;i<31;i++) d[i][1]=i; for(i=2;i<31;i++){ for(j=2;j<=i;j++){ d[i][j]=d[i][j-1]+d[i-1][j]; } d[i][i]=d[i][i-1]; } while(scanf("%d",&i)!=EOF){ s=0; for(j=1;j<=i;j++)s+=d[i][j]; printf("%lld\n",s); } return 0; }