2021牛客寒假算法基础集训营6 A.回文括号序列计数

A.回文括号序列计数

题目链接:https://ac.nowcoder.com/acm/contest/9986/A

题目描述:

我们定义一个字符串S是回文的,表示S的左右反转和S相同。

我们定义一个字符串是括号序列:

  1. 空串是括号序列。
  2. 两个括号序列P和Q的拼接是括号序列。
  3. 如果P是括号序列,’(’+P+’)'是括号序列。

求长度为 n (0<=n<=10^9) 的回文括号序列的方案数,对 998244353 取膜。

输入描述:

第一行一个 T 表示数据组数。T<=1000000。

接下来 T 行,每行一个 n 。

输出描述:

T 行。对于每组数据,你的答案。

示例1:

输入
2
0
1
输出
1
0

解题思路:

emm……巨坑无比!!!
因为回文,所以第一个和最后一个是相等的,若都是左括号,第一个括号无法完成匹配。若都是右括号,最后一个括号无法完成匹配。因此n=0时,只有空串只有一种情况,n>0时不存在回文括号序列

代码如下:

#include<iostream>
using namespace std;
int main()
{
    
    
	int t,n;
	scanf("%d",&t);
	while(t--)
	{
    
    
		scanf("%d",&n);
		if(n==0)printf("1\n");
		else printf("0\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45894701/article/details/114039361
今日推荐