博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于括号的简单模拟题
阅读量:5058 次
发布时间:2019-06-12

本文共 809 字,大约阅读时间需要 2 分钟。

description

给定一个括号字符数组S,S可以用两个整数数组P和W来描述,其中:数组P中的元素Pi定义为:第i个右括号前面有Pi个左括号;数组W中的元素Wi定义为,第i个右括号和其配对的左括号之间所包含的完整的括号的对数。现在给你P数组,让你求出该字符数组S所对应的W数组。比如下面这个例子 	S		(((()()())))	P	         4 5 6666	W  	         1 1 1456

input

输入第一行是一个整数t (1 <= t <= 10), 表示有t组测试数据。每组数据第一行是一个整数n (1 <= n <= 20), 然后是P数组中的n个元素。

output

对于输入的每一个P数组,输出其对应的W数组

sample_input

264 5 6 6 6 69 4 6 6 6 6 8 9 9 9

sample_output

1 1 1 4 5 61 1 2 4 5 1 1 3 9

 

#include <stdio.h>

#include <stdlib.h>

int main()

{
  int t,n,i,k;
  int a[20],b[20];
  scanf("%d",&t);
  while(t--)
 {
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    scanf("%d",&a[i]);
    b[1]=1;
    for(i=2;i<=n;i++)
  {
    if(a[i]!=a[i-1])
    b[i]=1;
    else
   {
       k=i-1;
        while(a[i]-a[k]<i-k&&k>0)
        k--;
      b[i]= i-k;
   }
}
    for(i=1;i<=n;i++)
    printf("%d ",b[i]);
    printf("\n");
 }
  return 0;
}

转载于:https://www.cnblogs.com/chen9510/p/4522721.html

你可能感兴趣的文章
ubuntu中Apache 虚拟主机的配置
查看>>
Android 二维码 生成和识别(附Demo源码)
查看>>
在Eclipse中配置tomcat7.0
查看>>
跟我学习编写通用的单据编码生成器
查看>>
asterisk AMI 管理,asterisk可视化流程
查看>>
实验七——函数定义及调用总结
查看>>
DevExpress gridview获取单元格坐标(转)
查看>>
事件冒泡
查看>>
JavaScript中常见的数组操作函数及用法
查看>>
解决vs2010调试很慢的方法
查看>>
程序员的鄙视链
查看>>
Service简介 demos
查看>>
influxdb
查看>>
#019 还未搞明白的C语言问题
查看>>
Java-面向对象篇2
查看>>
【编程练习】寻找和为定值的多个数
查看>>
Eclipse中修改Tomcat的发布路径、发布方式、启动超时等信息
查看>>
设计模式——2.简单工厂模式
查看>>
(转)详细解析Java中抽象类和接口的区别
查看>>
php js 排序
查看>>