NYOJ 2 括号配对问题
括号配对问题
- 描述
-
现在,有一行括号序列,请你检查这行括号是否配对。
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
- 样例输入
-
3 [(]) (]) ([[]()])
- 样例输出
-
No No Yes
/* 思路:通过对输入的元素配对消元,然后检查所有的元素是否都已配对消元,从而输出最终的结果
*/
#include<stdio.h>
#define N 10000+10
char s[N];int main()
{int n;char c,*p;scanf("%d\n",&n);while(n--){*s=getchar();p=s+1;while((c=getchar())!='\n'){if(*(p-1)==c-1||*(p-1)==c-2)p--;else*p++=c;}if(p==s)printf("Yes\n");elseprintf("No\n");}
}
堆栈实现:
#include<stdio.h>
#include<stdlib.h>#define OK 1
#define ERROR 0
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10typedef char SElemType;
typedef char Status;struct SqStack
{SElemType *base;SElemType *top;int stacksize;
};//初始化堆栈空间
Status InitStack(SqStack *S)
{S->base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));if(!S->base)return ERROR;S->top=S->base;S->stacksize=STACK_INIT_SIZE;return OK;
}//入栈操作
Status Push(SqStack *S,SElemType e)
{if(S->top-S->base>=S->stacksize){S->base=(SElemType*)realloc(S->base,(S->stacksize+STACKINCREMENT)*sizeof(SElemType));if(S->base==NULL) return ERROR;S->top=S->base+S->stacksize;S->stacksize+=STACKINCREMENT;}*S->top++=e; return OK;
}//入栈操作
Status Pop(SqStack *S,SElemType *e)
{if(S->top==S->base)return ERROR;*e=*(--S->top); return OK;
}//得到栈顶元素
Status GetTop(SqStack *S,SElemType *e)
{if(S->top==S->base){*e='\0'; //栈空取回 '\0'return ERROR;}*e=*(S->top-1);return OK;
}Status StackEmpty(SqStack *S)
{if(S->top==S->base)return 0;elsereturn 1;
}int main()
{SqStack S; int n;char a,b,c;scanf("%d",&n); getchar();if(InitStack(&S)){while(n--){ while(1){a=getchar(); //putchar(a);if(a=='\n')break;GetTop(&S,&b);if(a==b+1 || a==b+2){Pop(&S,&c);// printf("遇%c出栈操作 \n",a);} else{Push(&S,a);// printf("遇%c入栈操作 \n",a); }}if(!StackEmpty(&S)){printf("Yes\n");}else {printf("No\n");}S.top=S.base;} }}
NYOJ 2 括号配对问题相关推荐
- NYOJ 括号配对问题
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
- NYOJ 括号配对问题用容器来解决 酒馆浪人的博客
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
- ACM试题 - 括号配对问题 - Java中字符串截取和定位问题
ACM试题题源(括号配对问题):http://acm.nyist.net/JudgeOnline/problem.php?pid=2 提交代码: import java.util.Scanner;pu ...
- 括号配对问题_栈stack
问题 A: 括号配对问题 时间限制: 3 Sec 内存限制: 128 MB 提交: 3 解决: 2 [提交][状态][讨论版] 题目描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第 ...
- NYOJ2—括号配对问题
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
- 括号配对问题 -- ACM解决方法
括号配对问题 (栈的使用) 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数 ...
- acm括号配对问题c语言,ACM:UESTC - 649 括号配对问题 - stack
/*/ 简单的括号配对问题 先把给出的数字串全部变成括号串,在用栈去压入括号,每次保存栈顶括号,如果栈顶括号能和下一个括号配对,就把栈顶弹出,指括号的指针后移. 最后判断栈内是否还有元素,如果有,就说 ...
- 括号配对问题----栈模拟
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
- 【ACM】括号配对问题 - 栈
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...
最新文章
- 2022-2028年中国云服务市场深度调研及投资前景预测报告
- java加载驱动没有异常显示_java – Tomcat没有加载MSSQL驱动程序
- android drawerlayout 遮罩层白色,DrawerLayout放在Toolbar的下方导致NavigationView出现与状态栏等高的遮...
- C++ Map用法详解
- DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Sequential)利用MNIST(手写数字图片识别)数据集实现多分类预测
- const char * 和 char const * 和 char * const 区别
- gbk文件转为utf8文件
- 【插件开发】—— 1 Eclipse插件开发导盲
- AI理论知识基础(25)-机器学习常见损失函数, 共轭梯度法(1)
- JDBC的CRUD操作之PreparedStatement的查询操作
- 分布式理论CAP定理
- 漫步数学分析三十五——乘法法则与梯度
- linux 更改配置文件 禁止ssh,配置linux用户实现禁止ssh登陆但可用sftp登录
- 克服跨洋网络延迟,使用Docker Hub Mirror加速Docker官方镜像下载
- java中的定时任务
- python 导入数据集并画图_python matplotlib画图教程学习:(三)IRIS数据集作图
- hdb3编码规则波形_(完整word版)AMI与HDB3码波形与功率谱密度实验
- c语言工程师专业分析,一个资深c语言工程师说如何学习c语言.pdf
- 点点点工程师自我提升运维方向----shell编程基础知识盘点
- xpath helper用法
热门文章
- android jpush json,发送了正确的JPush json却报1002
- Spring Boot框架敏感信息泄露的完整介绍与SRC实战(附专属字典与PoC)
- 计算机网络和通信,计算机网络与通信技术
- android 布局防抖动,Android全屏返回布局抖动问题
- 服务器物理部署拓扑图,【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(五)-物理服务器路由方案及配置...
- 自己写了一个多行文本溢出文字补全的小库, 说不定你会用得到的
- position:fixed 兼容浏览器低版本
- 行内元素,块级元素,各自特点及其相互转化
- 移动架构-数据库分库和全版本升级
- 智能小车37:异常在ARM、JAVA、硬件里的实现