当前位置 : 主页 > 手机开发 > harmonyos >

最佳加法表达式 dp

来源:互联网 收集:自由互联 发布时间:2023-08-26
#includestdio.h #includestdlib.h #includestring.h #includemath.h #includeiostream #includealgorithm using namespace std; int Map[100][200]; char str[500]; int change(int x,int y) { int i; int t=0; for(i=x;i=y;i++) { t*=10; t+=(str[i]-'0');
#include<stdio.h> 

 #include<stdlib.h> 

 #include<string.h> 

 #include<math.h> 

 #include<iostream> 

 #include<algorithm> 

 using namespace std; 



 int Map[100][200]; 

 char str[500]; 



 int change(int x,int y) 

 { 

     int i; 

     int t=0; 

     for(i=x;i<=y;i++) 

     { 

         t*=10; 

         t+=(str[i]-'0'); 

     } 

     return t; 

 } 



 int main() 

 { 

     int n,m; 

     int i,j,k; 

     while(scanf("%d%d",&m,&n)!=EOF) 

     { 

         scanf("%s",str+1); 

         memset(Map,0,sizeof(Map)); 

         for(i=1;i<=m;i++) 

             for(j=1;j<=n;j++) 

                 Map[i][j]=99999999; 

         for(i=1;i<=n;i++) 

             Map[0][i]=change(1,i); 

         for(i=1;i<=m;i++) 

             for(j=i;j<=n;j++) 

                 for(k=i;k<=j;k++) 

                     Map[i][j]=min(Map[i][j],Map[i-1][k]+change(k+1,j)); 

         printf("%d\n",Map[m][n]); 

     } 

     return 0; 

 }
上一篇:邻接矩阵 BFS
下一篇:没有了
网友评论