洛谷P1739括号匹配(c语言)

洛谷P1739括号匹配(c语言),第1张

洛谷P1739括号匹配(c语言)

括号匹配的方法有很多,最常用的便是用栈的方法解决,通过压栈与入栈进行匹配。当然,本文与栈毫无关系。本蒟蒻仅是通过字面的意思,通过不断读入字符,逐个字符进行判断,若为右括号则flag++,若为左括号则flag--,若为0,则表明这一对括号匹配成功。

完整代码如下:

#include "bits/stdc++.h"
using namespace std;
int main()
{
	int i=0;
	int flag=0;
	char arr;
   	for(;;i++)
   	{
       arr=getchar();
       if(i==0&&arr==')'){
       	 printf("NO")  ;
       	 break;
	    }
       if(arr=='(') {
	   	  flag++;
	   	}  
       if(arr==')'){
       	 flag--;
	   }  
       if(flag<0){
       	printf("NO");
       	break;
	   }
       if(arr=='@')   
	    {
           if(flag==0){
               printf("YES");
               break;
           }
           else{
           		printf("NO");
           		break;
		   }  
       }
   }
    return 0;
}

这个题目有一点要注意,就是判断完一个字符串之后,别忘了break,我一开始提交的时候时间超限就是这个原因。

最后,此文章是我发的第一篇洛谷刷题题解(显然,我是从入门开始做的),今后会一周更至少三篇题解来记录刷题过程中遇到的有意思的题目。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5702502.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存