码迷,mamicode.com
首页 > 其他好文 > 详细

对称序列判断

时间:2018-05-08 20:59:15      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:数字   逆序   一个   str   描述   stream   AC   clu   int   

题目描述

给定一个数组,判断其中的数据序列是否左右对称:偶数个数时,左右两半部分正好逆序;奇数时,除中间位置数外,左右逆序

输入格式

第一行N表示一共有N个测试用例,也即接下来的输入数据共有N行。

接下来的每一行表示一个输入数组,第一个数字n表示该数组的元素个数,后面紧跟着n个数,中间都以空格隔开

输出格式

是逆序输出YES,否则输出NO(注意都是大写,小写判错)

样例输入

 

3
5 1 2 3 2 1
4 1 1 1 2
6 2 1 2 2 1 2

样例输出

 

YES
NO
YES
#include <iostream>
using namespace std;
int f(int a[], int m, int i,int j);
int main()
{
    int n;
    cin >> n;
    while (n--)
    {
        int m;
        cin >> m;
        int *a = new int[m];
        for (int i = 0;i < m; i++)
            cin >> a[i];
        if (f(a,m,0,m-1)) cout <<"YES" << endl;
        else  cout <<"NO" << endl;
        delete[] a;
    }
    return 0;
}
int f(int a[], int m, int i,int j)
{
    if (m == 1 || m == 0)
        return 1;
    if (a[i] == a[j])
    {
        m = m - 2;
        f(a, m, ++i,--j);
    }
    else 
        return 0;
    
}

 

对称序列判断

标签:数字   逆序   一个   str   描述   stream   AC   clu   int   

原文地址:https://www.cnblogs.com/Zhz0306/p/9010648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!