POJ 1068 (括号模拟)

原创 2016年08月28日 14:29:22

http://poj.org/problem?id=1068

题意:其实这道题很直接,p是每一个)之前有多少(,w是一个()内包括自身有多少个()。


思路:直接的模拟:1 还原括号。2:找出w。


可以用一个数组0,1来模拟)(。

#include<cstdio>
#include<cstring>

int main()
{
   // freopen("in.txt","r",stdin);
    int a[200],b[200];
    int ncase;
    scanf("%d",&ncase);
    while(ncase--){

        memset(b,0,sizeof(b));

        int n,temp;
        int j = 0,remember = 0;
        scanf("%d",&n);

        for(int i = 0;i < n ;i++){  //转化为0,1
            scanf("%d",&temp);
            while(remember < temp){
                a[j++] = 0;
                remember++;
            }
            a[j++] = 1;
        }

        for(int i = 0;i < j; i++){
            int ans = 2;
            if(a[i] == 1){

                for(int k = i - 1; ; k--){
                    if(a[k] == 0 && b[k] == 0){
                        b[k] = 3;
                        break;
                    }
                    else ans++;         //非0即3
                }
                printf("%d ",ans/2);    //左右括号的一半
            }
        }
        printf("\n");
    }
    return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

POJ 1068 括号模拟

ParencodingsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 11191 Accepted: 6590Descriptio...
  • xieshimao
  • xieshimao
  • 2011年02月10日 00:32
  • 2280

[ACM] POJ 1068 Parencodings(模拟)

Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19352   ...
  • sr19930829
  • sr19930829
  • 2014年07月14日 16:29
  • 1842

POJ 1068 Parencodings【水模拟--数括号】

链接: http://poj.org/problem?id=1068 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27454#pr...
  • Cfreezhan
  • Cfreezhan
  • 2013年07月29日 09:07
  • 1186

poj 1068 括号搭配

模拟的题型,基本难度不大,关键读懂题意: 对于给出的原括号串,存在两种数字密码串: 1.p序列:当出现匹配括号对时,从该括号对的右括号开始往左数,直到最前面的左括号数,就是pi的值。 ...
  • ChallenChenZhiPeng
  • ChallenChenZhiPeng
  • 2012年06月20日 22:16
  • 351

POJ 1068 括号匹配问题

思路:用模拟法,匹配成功的时候就输出就行了。 代码如下: #include #include char s[100]; int p[100],r[100],w[100]; int main...
  • u011466175
  • u011466175
  • 2013年08月26日 19:13
  • 574

POJ1068解题报告

ParencodingsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 11181 Accepted: 6583Descriptio...
  • xinghongduo
  • xinghongduo
  • 2011年02月08日 16:17
  • 3533

POJ 1068 Parencodings 模拟

题意:对每一个括号串S (((()()())))。P-sequence :4 5 6666 表示第k个右括号之前的左括号个数。W-sequence :1 1 1456 表示每个右括号以及与它匹配的左括...
  • Tsaid
  • Tsaid
  • 2011年09月09日 19:24
  • 355

poj 1068 Parencodings 模拟

输入的是在每个' )  '前有多少‘ (  ’, 要我们求得是在每个‘ ) ’前有多少个‘ )  ’, 我的方法是将最原始的图給还原出来,再去寻找‘)’。 对于已经配对的要进行标记不要重复使用。...
  • asuxiexie
  • asuxiexie
  • 2014年07月15日 17:25
  • 559

POJ 1068:Parencodings(模拟)

Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways: ...
  • xp731574722
  • xp731574722
  • 2017年08月02日 08:32
  • 92

POJ 1068 Parencodings(模拟)

Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22915   ...
  • u014361775
  • u014361775
  • 2015年07月27日 18:53
  • 199
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 1068 (括号模拟)
举报原因:
原因补充:

(最多只允许输入30个字)