トピックポータル
問題解決のアイデア:
行列のA DP、F [i] [j]は回答列jのi番目の行を示し
ACコード:
1の#include <iostreamの> 2の#include <cstdioを> 3 4 使用して 名前空間STDを、 5 6 INT N、M、[ 2001 ]、[ 2001 ]、F [ 2001 ] [ 2001 ]、ANS = 99999999 。 7 8 INT メイン(){ 9 のscanf(" %D%D "、&M、&N) 10 のために(INT iは= 1 ; iが<= N; I ++ ) 11 のための(INT J = 1 ; J <= M; J ++) 12 のscanf(" %dの"、および[I] [J])。 13 のために(INT iが= 1 ; iが<= M; I ++ ) 14 のための(INT J = 1 ; J <= nであり、j ++ ){ 15 であれば(J == 1 ) 16 F [j]は[I] =分( F [j]は[I- 1 ]、F [n]は[I- 1 ])+ [J] [I]; 17 他の 18 F [j]は[I] =分(F [j]は[I- 1 ]、F [J- 1 ] [I- 1 ])+[J] [i]は、 19 } 20 のために(INT iが= 1 ; I <= N; I ++ ) 21 ANS = 分(F [i]が[M]、ANS)は、 22 のprintf(" %dの" 、ANS)。 23 リターン 0 ; 24 }