Create a table to store results of subproblems . One extra row and column are used for simpilicity ( Number of dice is directly used as row index and sum is directly used as column index ) . The entries in 0 th row and 0 th column are never used .
long mem [ d + 1 ] [ s + 1 ] ; memset ( mem , 0 , sizeof mem ) ;