20181018T1 括号

问题描述】
牛牛有一个字符串,这个字符串是由左括号 ( 和右括号 ) 组成的。这样的字符串
又叫做括号序列。
牛牛想知道,他的括号序列是不是一个回文括号序列。与一般的回文串不同,牛牛
的回文括号序列定义为“看上去”是回文的括号序列。例如牛牛认为,)()(是回文括号序列,而 )(()不是 回文括号序列。
形式化地说,一个长度为 k 的括号序列是回文的,当且仅当对于所有的 i(1 ≤ i ≤ k)
从左向右数的第 i 个字符和从右向左数的第 i 个字符是相反的。
【输入格式】
从文件 brackets.in 中读入数据。
第一行包含一个正整数 T(1 ≤ T ≤ 100) ,表示这个测试点内的数据组数。
接下来 T 行,每行一个长度不超过 100 的字符串,表示牛牛的括号序列。
【输出格式】
输出到文件 brackets.out 中。
输出 T 行,依次表示 T 组数据的答案,如果这个括号序列是回文括号序列,那么
这一行输出 Yes ,否则输出 No 。
【样例输入】
2
())(
(())
【样例输出】
No
Yes


考试T1,每日份的开心

不慌,一个循环的事

开心就好

下面给出代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
inline int rd(){
    int x=0,f=1;
    char ch=getchar();
    for(;!isdigit(ch);ch=getchar()) if(ch=='-') f=-1;
    for(;isdigit(ch);ch=getchar()) x=x*10+ch-'0';
    return x*f;
}
inline void write(int x){
    if(x<0) putchar('-'),x=-x;
    if(x>9) write(x/10);
    putchar(x%10+'0');
    return ;
}
char s[10006];
int n;
int main(){
    n=rd();
    for(int i=1;i<=n;i++){
        scanf("%s",s+1);
        int len=strlen(s+1),f=0;
        for(int i=1;i<=len;i++){
            if(s[i]==s[len-i+1]){
                printf("No
");
                f=1;
                break;
            }
        }
        if(!f) printf("Yes
");
    }
    return 0;
}
蒟蒻总是更懂你✿✿ヽ(°▽°)ノ✿
原文地址:https://www.cnblogs.com/WWHHTT/p/9812076.html