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. hystrix中request cache请求缓存

    有一个概念,叫做reqeust context,请求上下文,一般来说,在一个web应用中, 我们会在一个filter里面,对每一个请求都施加一个请求上下文,就是说,tomcat容器内,每一次请求,就是 ...

  2. mysql中length与char_length字符长度函数使用方法

    在mysql中length是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符了,与char_length是有一点区别,本文章重点介绍第一个函数. mysql里面的length函数是一个用来 ...

  3. ELK学习笔记之logstash的各个场景应用(配置文件均已实践过)

    详细请参考该文 https://www.cnblogs.com/qingqing74647464/p/9378385.html

  4. C# 8.0 中开启默认接口实现

    原文:C# 8.0 中开启默认接口实现 当你升级到 C# 8.0 和 .NET Core 3.0 之后,你就可以开始使用默认接口实现的功能了. 从现在开始,你可以在接口里面添加一些默认实现的成员,避免 ...

  5. AWS--Lamdba

    分享一个Lambda相关的连接 https://blog.csdn.net/m0_37204491/article/details/72829477

  6. 【开发笔记】- QQ消息轰炸

    1.右键新建一个文本文件: 2.打开记事本将如下代码复制过去: On Error Resume Next Dim wsh,ye set wsh=createobject("wscript.s ...

  7. Java项目部分总结

    一.数据库sql操作: 1.三表查询的时候,最后的条件由于当前字段必须判断是属于哪个表,所以需要注明根据哪个表中的字段进行判断: 并且再在后面加上limit的时候,需要注意先进行添加,避免系统不能识别 ...

  8. 实战FFmpeg + OpenGLES--iOS平台上视频解码和播放

    一个星期的努力终于搞定了视频的播放,利用FFmpeg解码视频,将解码的数据通过OpenGLES渲染播放.搞清楚了自己想知道的和完成了自己的学习计划,有点小兴奋.明天就是“五一”,放假三天,更开心啦. ...

  9. IDEA中安装及配置SVN

    1.TortoiseSvn(小乌龟下载地址): https://tortoisesvn.net/downloads.html 2.下载完SVN安装包后,在本机安装SVN(小乌龟),注意安装的时候添加上 ...

  10. sql 查询某个字段最长的记录

    sql  查询文本字段中值的长度最长的记录 一.函数1.SQL ServerLEN() 函数返回文本字段中值的长度.SELECT LEN(column_name) FROM table_name;2. ...