题意:n个数字组成的排列,问它们能不能通过循环移位形成1 2 3...n的序列或者是n...3 2 1 的序列。
比如2 3 4 5 1 和3 2 1 4 就可以,但是1 2 3 5 4 就不行。题的链接
对于这种问题可以两个for循环从前往后,再从后往前,直接暴力找,找到了一个就行,没有就不行。但是这样要考虑很多东西。
#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<vector>
#include<climits>
#include<cstdio>
#include<queue>
#include<algorithm>
#include<cfloat>
using namespace std;
int main()
{
int T,i,j,a[205],flag,k,t,n,temp;
scanf("%d",&T);
while(T--)
{
flag=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
i=1;
while(i<=n)
{
j=i;
for(k=1;k<n;k++)