动规  f[i][j]表示第i到第j个数能取到的最大值 e[i][j]表示最小值 .......

#include <cstdio>
#include <cstring> using namespace std;
char a[110];
int d[110];
bool c[110];
long long f[110][110],e[110][110];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(c, 0, sizeof(c));
scanf("%s",a);
int len = strlen(a);
int u = 0;
for(int i = 0; i < len; i += 2)
{
d[u] = a[i] - '0';
if(a[i+1] == '+')
c[u] = 1;
u++;
}
for(int i = 0; i < u; i++)
e[i][i] = f[i][i] = d[i];
for(int q = 1; q < u; q++)
for(int i = 0; i+q < u; i++)
{
int j = i+q;
f[i][j] = 0;
e[i][j] = (long long)1 << 62;
for(int k = i; k < j; k++)
{
long long p;
if(c[k])
p = f[i][k] + f[k+1][j];
else
p = f[i][k] * f[k+1][j];
if(f[i][j] < p)
f[i][j] = p;
if(c[k])
p = e[i][k] + e[k+1][j];
else
p = e[i][k] * e[k+1][j];
if(e[i][j] > p)
e[i][j] = p;
}
}
printf("%lld %lld\n",f[0][u-1],e[0][u-1]);
}
return 0;
}

最新文章

  1. 在Android中Intent的概念及应用(一)——显示Intent和隐式Intent
  2. 配置SQL server远程连接(局域网)
  3. 没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的写访问权限 的解决方案
  4. inline和宏之间的区别
  5. Java正则表达式应用总结
  6. #event.initMouseEvent
  7. 随意记的一点 js 笔记
  8. sql 数据库还原脚本 (kill链接+独占
  9. 线程池的submit和execute方法区别
  10. 使用javaMail实现简单邮件发送
  11. Java学习笔记之——LinkedList
  12. git 从远程仓库获取所有分支
  13. 函数sigsuspend
  14. ASP.NET Core Docker jexus nginx部署-CentOS实践版
  15. Android 软件退出系统方法重写
  16. python中的os.path.dirname(__file__)的使用
  17. MySQL学习笔记-数据库后台线程
  18. 增加显示记录数的label及隐藏refresh按钮
  19. LeetCode 9. Palindrome Number(回文数)
  20. lua正则表达式如何匹配中文

热门文章

  1. 【Cocos2d入门教程五】Cocos2d-x动作篇
  2. 转:SqlServer2008误操作数据(delete或者update)后恢复数据
  3. ASP连接ACCESS数据库
  4. 【转载】颜色空间-RGB、HSI、HSV、YUV、YCbCr的简介
  5. android不依赖具体activity弹出Dialog对话框,即全局性对话框
  6. UIDynamic 基础认识
  7. spring mvc 拦截器
  8. Electron(一)--初步了解并动手HelloWorld
  9. js实现跨域(jsonp, iframe+window.name, iframe+window.domain, iframe+window.postMessage)
  10. c#基础学习笔记-----------委托事件