纪念一下::AstronomicalRecordsEasy
#include <vector> #include <cstring> #include <algorithm> #include <iostream> using namespace std; class AstronomicalRecordsEasy { public: int minimalPlanets(vector <int> A, vector <int> B) { int a=A.size(),b=B.size(),ans=a+b,dp[60][60]; for(int i=0;i<a;i++) for(int j=0;j<b;j++) { memset(dp,0,sizeof(dp)); dp[i][j]=1;// int m=0; for(int k=0;k<=a;k++) for(int l=0;l<=b;l++) { if(k>0) dp[k][l]=max(dp[k][l],dp[k-1][l]); if(l>0) dp[k][l]=max(dp[k][l],dp[k][l-1]); if(A[k]*B[j]==A[i]*B[l]) { if(l==0 || k==0) dp[k][l]=max(dp[k][l],1); else dp[k][l]=max(dp[k-1][l-1]+1,dp[k][l]); } //m=max(m,dp[l][k]); } ans=min(ans,a+b-dp[a-1][b-1]); } return ans; } };