BJTU网络预选赛——1003——DP

 1  #include  < stdio.h >
 2  #include  < stdlib.h >
 3  #include  < string .h >
 4 
 5  const   int  mod  =   9937  ;
 6  const   int  size  =   100  ;
 7 
 8  int  dp[size][ 10010 ] ;
 9 
10  int  inn, inm ;
11 
12  int  main()
13  {
14       while ( scanf(  " %d %d " & inn,  & inm )  !=  EOF  &&  (inn || inm) )
15      {
16          dp[ 1 ][ 0 =   1  ; dp[ 1 ][ 1 =   0  ;
17 
18           for int  i = 2 ; i <= inn; i ++  )
19           for int  j = 1 ; j <= inm; j ++  )
20          {
21               // for( int i=2; i<=inn; i++ )
22                  dp[i][j]  =  (dp[i - 1 ][j - 1 ] * 2   +  dp[i - 1 ][j - 2 ] * (i - 2 )) % mod ;
23          }
24 
25          printf(  " %d\n " , dp[inn][inm] ) ;
26      }
27 
28       return   0  ;
29  }

你可能感兴趣的:(BJTU网络预选赛——1003——DP)