51Nod-1612-合法表达式
2017-09-22 18:56
169 查看
ACM模版
![](http://img.blog.csdn.net/20170922184140218?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZl96eWo=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
描述
题解
我们需要考虑到能够加多少括号以及加括号的动态规划过程,这里格外要注意一个问题,就是初始字符串不合法,并且无论怎么加都不合法的情况,比如 5//4,这是真实存在的一组样例,是第三组样例,结果应该输出 0。代码
#include <cstdio> #include <cstring> using namespace std; const int MAXN = 3e5 + 10; const int MOD = 1e6 + 3; int n, m; int f[MAXN]; char s[MAXN]; int main() { scanf("%s", s); n = (int)strlen(s); m = 2 * n; f[m] = 1; for (int i = 0; i < n; i++) { if (s[i] < '0') { if (s[i] == '+' || s[i] == '-' || (i && s[i - 1] >= '0')) { m--; } else // 考虑到不合法的串,比如 5//4 { puts("0"); return 0; } } else if (s[i + 1] < '0') { for (int j = m + n; j > m; j--) { f[j - 1] = (f[j - 1] + f[j]) % MOD; } } } printf("%d\n", f[m]); return 0; }
相关文章推荐
- 编写正则表达式,判断给定的是否是一个合法的IP地址。
- python 正则表达式判断URL是否合法
- 51nod 1791 合法括号子段
- 51nod 1315 合法整数集
- 51nod 1791 合法括号子段(DP)
- 正则表达式验证HTTP地址是否合法
- 51nod 1315 合法整数集
- 一个验网址是否合法十分准确的正则表达式
- 51nod 1451 合法三角形
- java中的栈Stack的基本使用和应用(二) ——利用栈计算合法的算术表达,中缀表达式转后缀表达式
- 51Nod-1315-合法整数集
- 编写正则表达式,判断给定的是否是一个合法的IP地址。
- 华为面试题:求n对括号的所有合法表达式(两种简洁做法)
- 2016去哪儿编程题:表达式合法判断
- 表达式的合法判断
- 自己动手写一个判断网址合法的C/C++的正则表达式程序
- javascript正则表达式判断邮箱地址是否合法
- 检测ip地址是否合法的正则表达式
- 判断Email 地址是否合法的正则表达式
- 检查Email格式是否合法的正则表达式