xdu 1166 - 括号,又见括号

简介:

1166 - 括号,又见括号

  

    经典的括号题,

    wiki里写的没有看懂,但貌似是基于全局的。

    我觉得这道题前面的括号和后面的并没有关系,所以从全局找到每一对匹配并不是最好的选择,直接进行匹配反而更简单

    用getchar时间比scanf少了一半……

   注意一下输出要是long long的,一开始没发现用int,WA了好几次。

 

 

/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <cstdio>
#define INF 12345678910ll
int n;
char t;
void get(char &t){t=getchar(),getchar(),n--;}
long long dfs()
{
    long long ans=0;
    for(get(t);t=='0';get(t))
       ans=(ans+dfs())%INF;
    if(ans==0)return 1;
    else return ans<<1;
}
int main()
{
    while(~scanf("%d%*c",&n))
    {
        long long ans=0;
        while(n--)
        {
            getchar();getchar();
            ans=(ans+dfs())%INF;
        }
        printf("%lld\n",ans);
    }
    return 0;
}


目录
相关文章
|
29天前
|
Java
有效的括号
本题要求判断一个仅包含 &#39;(&#39;, &#39;)&#39;, &#39;{&#39;, &#39;}&#39;, &#39;[&#39;, &#39;]&#39; 的字符串是否为有效字符串。有效条件是:每个左括号必须被相同类型的右括号正确闭合。空字符串视为有效。示例代码通过栈结构实现,遍历字符串中的每个字符,遇到左括号则将对应的右括号压入栈中,遇到右括号时检查栈顶元素是否匹配,最终栈为空则字符串有效。
7 0
|
6月前
20. 有效的括号
20. 有效的括号
LeetCode | 20. 有效的括号
LeetCode | 20. 有效的括号
|
7月前
22. 括号生成
22. 括号生成
52 4
|
6月前
22.括号生成
22.括号生成
|
7月前
|
C++
去括号问题(C++处理)
去括号问题(C++处理)
98 0
LeetCode:有效的括号
LeetCode:有效的括号
52 0
|
7月前
leetcode-921:使括号有效的最少添加
leetcode-921:使括号有效的最少添加
38 0
|
7月前
leetcode:有效的括号
leetcode:有效的括号