问题标题: 酷町堂:3834 回文句式

0
0
已解决
李子木
李子木
初级守护
初级守护

3834   回文句式

题目描述 Description

所谓的回文,就是一个句子从左到右读和从右到左读起来是一模一样的,如汉语中的“雾锁山头山锁雾;天连水尾水连天”。在英文当中也有这样的一种句式,一个英文单词相当于一个汉字,现给出几串英文,判断每个字符串是否不是回文单词句式,如果不是,则输出”Yes”,如果是,则输出”No”。 如abc def xyz def abc 反过来依然是: abc def xyz def abc 则该句子就是回文单词句式。

输入描述 Input Description

输入为n+1行,第一行为字符串的个数n,接下来为需要判断的字符串句子,长度不超过1000,每个单词之间用单个空格隔开,且句子首尾没有空格。

输出描述 Output Description

输出为n行,若该句子不是回文单词句式,输出:“Yes”;否则,输出“No”

样例输入 Sample Input


 

2
abc def xyz def abc
ac bc cb ac

样例输出 Sample Output


 

No
Yes

李子木在2019-01-25 21:07:14追加了内容

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string a[599]="",b;
    int j=0,n,f=1;
    cin>>n;
    getline(cin,b);
    for(int i=1;i<=n;i++)
    {
        getline(cin,b);
        j=0;
            for(int h=0;h<=b.size()-1;h++)
        {
            if(b[h]!=' ')
            a[j]+=b[h];
            else
            j++;
        }
            for(int h=0;h<=j/2;h++)
        {
            if(a[i]!=a[j-i])
            {
                f=0;
                cout<<"No"<<endl;
                break;
            }
        }
        if(f==1)
        cout<<"Yes"<<endl;
    }
    return 0;
}

 

0分


0
已采纳
桑烁
桑烁
高级光能
高级光能

定义check函数

循环比较:

从s[0]比到s[s.size()-1]

s[0]对应s[s.size()-1]

s[1]对应s[s.size()-2]

……

如果不相等,就return false

主函数直接调用就行了

 

0
我要回答