2 条题解
-
1
#include <iostream> using namespace std; const int N=1e2+10; string s; int dp[N][N]; int main(){ cin>>s; int n=s.length(); for(int i=n-2;i>=0;i--){ for(int j=0;j<n;j++){ if((s[i]=='('&&s[j]==')')||(s[i]=='['&&s[j]==']')) dp[i][j]=dp[i+1][j-1]+2; for(int k=i;k<j;k++){ dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]); } } } cout<<n-dp[0][n-1]<<endl; }
信息
- ID
- 469
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 6
- 标签
- 递交数
- 34
- 已通过
- 11
- 上传者