UVALive 8024 Stack Construction
#include <iostream> #include <algorithm> #include <stdio.h> //debug心累- - using namespace std; int n; char s[maxn]; int a[maxn][maxn]; int main(){ scanf("%d\n",&n); while(n--){ gets(s); int l=strlen(s); for(int i=0;i<l;i++) for(int j=0;j<l;j++) a[i][j]= i<=j? (j-i+1)*3:0; for(int i=l-1;i>=0;i--) for(int j=i;j<l;j++) for(int k=i;k<j;k++) { if(s[j]==s[k])a[i][j]=min(a[i][j],a[i][k]+a[k+1][j]-2); else a[i][j]=min(a[i][j],a[i][k]+a[k+1][j]); } // for(int i=0;i<l;i++)printf("%2c ",s[i]);printf("\n"); // // for(int i=0;i<l;i++) // { // // for(int j=0;j<l;j++)printf("%2d ",a[i][j]);printf("\n"); // } cout<<a[0][l-1]<<endl; } return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步