计蒜客 39279.Swap-打表找规律 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest L.) 2019ICPC西安邀请赛现场赛重现赛
There is a sequence of numbers of length nn, and each number in the sequence is different. There are two operations:
- Swap the first half and the last half of the sequence (if nn is odd, the middle number does not change)
- 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西安邀请赛现场赛重现赛的更多相关文章
- 计蒜客 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 ...
- 计蒜客 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. ...
- 计蒜客 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 ...
- 计蒜客 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 ...
- 计蒜客31452 Supreme Number(找规律)
A prime number (or a prime) is a natural number greater than 11 that cannot be formed by multiplying ...
- 计蒜客 28315.Excellent Engineers-线段树(单点更新、区间最值) (Benelux Algorithm Programming Contest 2014 Final ACM-ICPC Asia Training League 暑假第一阶段第二场 E)
先写这几道题,比赛的时候有事就只签了个到. 题目传送门 E. Excellent Engineers 传送门 这个题的意思就是如果一个人的r1,r2,r3中的某一个比已存在的人中的小,就把这个人添加到 ...
- 计蒜客 成绩统计 (Hash表)
链接 : Here! 思路 : 如果用 $STL$ 的 $map$ 或者是使用 $unordered\underline{}map$ 的话是会 $T$ 的, 所以得手写一个 $hash表$. 其实这个 ...
- 最短路+找规律 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两个节点,所经过 ...
- 计蒜客 A1607 UVALive 8512 [ACM-ICPC 2017 Asia Xi'an]XOR
ICPC官网题面假的,要下载PDF,点了提交还找不到结果在哪看(我没找到),用VJ交还直接return 0;也能AC 计蒜客题面 这个好 Time limit 3000 ms OS Linux 题目来 ...
随机推荐
- java注解注意点
注意:以后工作中代码中 不允许出现警告 自定义注解 1:自定义注解并没有发挥它的作用,而Eclipse自带的注解通过反射另外有一套代码,可以发挥它的作用,例如:跟踪代码...... 2:如果自定义的代 ...
- Redis运维利器 -- RedisManager
Redis作为一个基于内存的可持久化的日志型.Key-Value数据库,以其出色的性能表现以及高可用性在许多公司有着举足轻重的地位.伴随着业务量的增长,redis集群的规模不可避免的需要扩大,此时re ...
- java之mybatis整合spring
这篇讲解spring+mybatis的整合. 目录结构: 一. 整合spring的第一种方法 1. 新建 java 项目 : spring_mybatis 2.导入jar 包-----spring和m ...
- wamp基本配置与设置外网访问
wamp安装(都是一键安装)正常启动后,做一些基本配置的介绍: 1.打开rewrite_module,方法一:左键点击wamp图标,鼠标移至Apache,然后平移至Apache模块,勾选rewrite ...
- jquery DataTable默认显示指定页
原文:https://blog.csdn.net/zimuxin/article/details/83304819 主要添加iDisplayStart和iDisplayLength参数即可 $('#t ...
- PYTHON 文件读写、坐标寻址、查找替换
读文件 打开文件(文件需要存在) #打开文件 f = open("data.txt","r") #设置文件对象 print(f)#文件句柄 f.close() ...
- 直播知识-推流&拉流
推流,指的是把采集阶段封包好的内容传输到服务器的过程.其实就是将现场的视频信号传到网络的过程.“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是 ...
- RocketMQ在CentOS7上安装
需要先以下组件 1.64bit OS, Linux/Unix/Mac is recommended;2.64bit JDK 1.8+; 安装了 Java JDK 就可以运行 RocketMQ 了 3. ...
- ubuntu16.04重置root密码
问题描述: 一个用户不能G附加多个用户组,在centos没有问题的.具体的还不清楚 问题解决: 重启进入启动项修改启动参数进入root中设置密码 参考: https://www.cnblogs.c ...
- idea生成类中序列化id
RPC接口中要传输的对象需要序列化,需要生成序列id,idea中生成序列id的方式如下 在需要添加序列id的类中,选中类名,alt+enter就可以实现了