Swap

There is a sequence of numbers of length nn, and each number in the sequence is different. There are two operations:

  1. Swap the first half and the last half of the sequence (if nn is odd, the middle number does not change)
  1. Swap all the numbers in the even position with the previous number (the position number starts from 11, and if⁡⁡ nn is odd, the last number does not change)

Both operations can be repeated innumerable times. Your task is to find out how many different sequences may appear (two sequences are different as long as the numbers in any one position are different).

Input

Each test file contains a single test case. In each test file:

The first line contains an integer nn, indicating the length of the sequence (1 \le n \le 10000)(1≤n≤10000).

The second line contains nn different numbers.

Output

Output the number of different sequences.

样例输入1复制

3
2 5 8

样例输出1复制

6

样例输入2复制

4
1 2 3 4

样例输出2复制

4

找规律,打个表就发现了。

打表代码也贴下面。

代码:

 //L-找规律
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+; int a[maxn]; int main()
{
int n;
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d",&a[i]);
}
if(n>=&&n<=&&n!=){
printf("%d\n",n);
return ;
}
else if(n==){
printf("%d\n",n*);
return ;
}
if(n%==){
if((n/)%==){
printf("4\n");
}
else{
printf("%d\n",n);
}
}
else{
if((n-)%==){
printf("12\n");
}
else{
printf("%d\n",n*);
}
}
} /*
1
2
6
4
10
6
12
4
18
10
12
4
26
14
12
4
34
18
12
4
*/ /*
打表找规律
打表的代码 #include<bits/stdc++.h>
using namespace std;
const double PI=acos(-1.0);
const int maxn=1e5+10; char a[maxn]; int main()
{
for(int k=1;k<=20;k++){
int n=k;
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++){
a[i]='a'+i-1;
}
int num=0;
int cnt=50;
map<string,int> mp;
string s;
while(cnt--){
for(int i=1;i<n;i+=2){
swap(a[i],a[i+1]);
}
s.clear();
for(int i=1;i<=n;i++){
s+=a[i];
}
if(mp[s]==0) num++,mp[s]=1;
int ret;
if(n%2==1) ret=n/2+1;
else ret=n/2;
for(int i=1;i<=n/2;i++){
swap(a[i],a[i+ret]);
}
s.clear();
for(int i=1;i<=n;i++){
s+=a[i];
}
if(mp[s]==0) num++,mp[s]=1;
}
cout<<num<<endl;
}
} */

计蒜客 39279.Swap-打表找规律 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest L.) 2019ICPC西安邀请赛现场赛重现赛的更多相关文章

  1. 计蒜客 39272.Tree-树链剖分(点权)+带修改区间异或和 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest E.) 2019ICPC西安邀请赛现场赛重现赛

    Tree Ming and Hong are playing a simple game called nim game. They have nn piles of stones numbered  ...

  2. 计蒜客 39280.Travel-二分+最短路dijkstra-二分过程中保存结果,因为二分完最后的不一定是结果 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest M.) 2019ICPC西安邀请赛现场赛重现赛

    Travel There are nn planets in the MOT galaxy, and each planet has a unique number from 1 \sim n1∼n. ...

  3. 计蒜客 39270.Angel's Journey-简单的计算几何 ((The 2019 ACM-ICPC China Shannxi Provincial Programming Contest C.) 2019ICPC西安邀请赛现场赛重现赛

    Angel's Journey “Miyane!” This day Hana asks Miyako for help again. Hana plays the part of angel on ...

  4. 计蒜客 39268.Tasks-签到 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest A.) 2019ICPC西安邀请赛现场赛重现赛

    Tasks It's too late now, but you still have too much work to do. There are nn tasks on your list. Th ...

  5. 计蒜客31452 Supreme Number(找规律)

    A prime number (or a prime) is a natural number greater than 11 that cannot be formed by multiplying ...

  6. 计蒜客 28315.Excellent Engineers-线段树(单点更新、区间最值) (Benelux Algorithm Programming Contest 2014 Final ACM-ICPC Asia Training League 暑假第一阶段第二场 E)

    先写这几道题,比赛的时候有事就只签了个到. 题目传送门 E. Excellent Engineers 传送门 这个题的意思就是如果一个人的r1,r2,r3中的某一个比已存在的人中的小,就把这个人添加到 ...

  7. 计蒜客 成绩统计 (Hash表)

    链接 : Here! 思路 : 如果用 $STL$ 的 $map$ 或者是使用 $unordered\underline{}map$ 的话是会 $T$ 的, 所以得手写一个 $hash表$. 其实这个 ...

  8. 最短路+找规律 Samara University ACM ICPC 2016-2017 Quarterfinal Qualification Contest L. Right Build

    题目链接:http://codeforces.com/gym/101149/problem/L 题目大意:有n个点(其实是n+1个点,因为编号是0~n),m条有向边.起点是0,到a和b两个节点,所经过 ...

  9. 计蒜客 A1607 UVALive 8512 [ACM-ICPC 2017 Asia Xi'an]XOR

    ICPC官网题面假的,要下载PDF,点了提交还找不到结果在哪看(我没找到),用VJ交还直接return 0;也能AC 计蒜客题面 这个好 Time limit 3000 ms OS Linux 题目来 ...

随机推荐

  1. 【C#】 获取计算机的硬件信息

    添加引用:System.Management /// <summary> /// 获取本机的MAC地址 /// </summary> /// <returns>&l ...

  2. 七牛云图床存储+Alfread工作流+使用QSHELL

    layout: post title: 七牛云图床存储+Alfread工作流+使用QSHELL 来源:http://www.cnblogs.com/cmi-sh-love/p/8901620.html ...

  3. flask与flask-script的使用

    flask与flask-script的使用 一.安装 pip install Flask-Script 二.简单的使用 # manage.py from flask_script import Man ...

  4. np.newaxis的使用及有趣的数组相乘

    a=np.array([1,2,3,4])a=a[np.newaxis,:] #固定行,相当于1行多列b=np.array([2,4,6]) b=b[:,np.newaxis] #固定列,相当与多行1 ...

  5. HDU2476 String painter(DP)

    题目 String painter 给出两个字符串s1,s2.对于每次操作可以将 s1 串中的任意一个子段变成另一个字符.问最少需要多少步操作能将s1串变为s2串. 解析 太妙了这个题,mark一下. ...

  6. JavaWeb 之 三层架构:软件设计架构

    界面层(表示层):用户看的得界面.用户可以通过界面上的组件和服务器进行交互. 业务逻辑层:处理业务逻辑的. 数据访问层:操作数据存储文件.

  7. SAP Cloud Platform 上CPI的初始化工作

    SAP Cloud Platform上的CPI tenant,如果没有正确的初始化,试图使用时会遇到如下错误消息: Insufficient scope for this resourceinsuff ...

  8. Nginx proxy_set_header

    配置示例 server{ server_name aaa.com location /api { proxy_pass http://xxx.com/api; proxy_set_header Hos ...

  9. c# 泛型study

    1.引用类型约束:  类型实参包含任何类,接口,数组,委托,或者是已知是引用类型的另一个类型参数 class demo<T> where T:class 有效的封闭区间demo<St ...

  10. go调度: 第一部分-OS调度(操作系统调度)

    开场白 这个是三篇博客中的第一篇, 用来提供go调度背后的机制和语法. 这篇博客主要关注操作系统调度. 三篇博客的顺序是: 1) go调度: 第一部分 - 操作系统调度 2) go调度: 第二部分 - ...