标签:数字 逆序 一个 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