#include #include #include #include #include #include #include #include #include #include #define INF 100000000 using namespace std; int a[1005]; int b[1005]; int dp[1005][1005]; int main(){ int n,m; int k = 1; while(cin >> n >> m,n||m){ for(int i = 0;i < n;i++){ scanf("%d",&a[i]); } for(int i = 0;i < m;i++){ scanf("%d",&b[i]); } //memset(dp,0,sizeof(dp)); for(int i = 0;i < n;i++){ for(int j = 0;j < m;j++){ if(a[i] == b[j]){ dp[i+1][j+1] = dp[i][j]+1; } else{ dp[i+1][j+1] = max(dp[i+1][j],dp[i][j+1]); } } } printf("Twin Towers #%d\n",k++); printf("Number of Tiles: %d\n\n",dp[n][m]); } return 0; }
hdu 1849 Rabbit and Grass 誰都喜
下面是自己測試代碼,有瑕疵但是可以實現 [cpp]&n
俄羅斯方塊(Win32實現,Codeblocks+GCC編譯
金色十月線上編程比賽第二題:解密 金色十月線上編程
【描述】建造模式定義了處理其他對象的復雜構建的對象設計
ANSI C++ 中的 Singlet