zoukankan      html  css  js  c++  java
  • hdu 1361 Parencodings

    再次鄙视一下自己的英语水平,竟然没读懂题,好吧,我要学英语~~

    这题很简单,数据给的也很小,只要简单的模拟就过了,意思是:

    由括号序列S可经P规则和W规则变形为P序列和W序列。

    p规则是:pi是第i个右括号左边的左括号的数;

    w规则是:wi是第i右括号与它匹配的左括号之间右括号的数(其中包括它本身)。

    代码:

     1 #include<stdio.h>
    2 #include<stdlib.h>
    3 #include<string.h>
    4 int p[25],s[25];
    5 char str[55];
    6 int main()
    7 {
    8 int t,n,i,j,k;
    9 scanf("%d",&t);
    10 while(t--)
    11 {
    12 scanf("%d",&n);
    13 p[0]=0;
    14 for(i=1;i<=n;i++)
    15 scanf("%d",&p[i]);
    16 for(i=1,k=0;i<=n;i++)
    17 {
    18 int m=p[i]-p[i-1];
    19 for(j=1;j<=m;j++)
    20 str[k++]='(';
    21 str[k++]=')';
    22 }
    23 int f[55];
    24 memset(f,0,sizeof(f));
    25 int m=0;int l=0;
    26 for(i=0;i<k;i++)
    27 {
    28 if(str[i]==')')
    29 {
    30 for(j=i-1;j>=0;j--)
    31 if(str[j]=='(')
    32 {
    33 if(!f[j])
    34 {
    35 f[j]=1;
    36 l++;
    37 break;
    38 }
    39 else
    40 l++;
    41 }
    42 s[m++]=l;
    43 l=0;
    44 }
    45 }
    46 for(i=0;i<m;i++)
    47 {
    48 if(i)
    49 printf(" %d",s[i]);
    50 else
    51 printf("%d",s[i]);
    52 }
    53 printf("\n");
    54 }
    55 return 0;
    56 }
  • 相关阅读:
    7.1类模板
    异质链表
    8.1多态性
    8.2虚函数
    error: C2664: “zajiao::zajiao(const zajiao &)”: 无法将参数 1 从“const char [12]”转换为“char *”
    #include <QPushButton>
    6.3多重继承
    华为集群后killsql命令和查看mr占用的磁盘空间
    linux的逻辑运算符
    test命令
  • 原文地址:https://www.cnblogs.com/misty1/p/2294208.html
Copyright © 2011-2022 走看看