HDU 6130 Kolakoski【】
来源:互联网 发布:执业兽医资格考试软件 编辑:程序博客网 时间:2024/06/06 02:16
Kolakoski
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 713 Accepted Submission(s): 368
Problem Description
This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1…… . This sequence consists of 1 and 2 , and its first term equals 1 . Besides, if you see adjacent and equal terms as one group, you will get 1,22,11,2,1,22,1,22,11,2,11,22,1…… . Count number of terms in every group, you will get the sequence itself. Now, the sequence can be uniquely determined. Please tell HazelFan its n th element.
Input
The first line contains a positive integer T(1≤T≤5) , denoting the number of test cases.
For each test case:
A single line contains a positive integern(1≤n≤107) .
For each test case:
A single line contains a positive integer
Output
For each test case:
A single line contains a nonnegative integer, denoting the answer.
A single line contains a nonnegative integer, denoting the answer.
Sample Input
212
Sample Output
12
Source
2017 Multi-University Training Contest - Team 7
思路:根据题意可发现,第一个数列的第i位上的数字就是第二个数列第i组合的个数,然后就可以写出数列的内容。
以下是Kolakoski数列:$1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……$,这个数列仅有1和2组成,并且第一项是1。同时还满足一个性质,如果把相邻且相同的项看成一组,可以得到$1,22,11,2,1,22,1,22,11,2,11,22,1……$,计算每一组项的数量,则能得到这个序列本身。这个数列是可以被唯一确定的,请求出它的第n项。1≤n≤107。
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<stack>#include<vector>#include<map>#include<set>#include<algorithm>using namespace std;#define ll long long#define ms(a,b) memset(a,b,sizeof(a))const int M=1e7+10;const int MM=2e3+10;const int inf=0x3f3f3f3f;const int mod=1e9+7;;const double eps=1e-8;int n,m;int a[M];void init(){ a[1]=1,a[2]=2; int k=1; for(int i=1;i<M;i++){ if(k>M)break; if(i%2==0){ if(a[i]==2)a[k++]=2,a[k++]=2; else a[k++]=2; } else{ if(a[i]==2)a[k++]=1,a[k++]=1; else a[k++]=1; } }}int main(){ int t; init(); scanf("%d",&t); while(t--){ scanf("%d",&n); printf("%d\n",a[n]); } return 0;}
阅读全文
0 0
- HDU 6130-Kolakoski(Kolakoski序列)
- 【HDU 6130 Kolakoski】& Kolakoski & 打表
- hdu-6130-Kolakoski
- HDU 6130 Kolakoski
- HDU 6130 Kolakoski
- HDU 6130-Kolakoski
- hdu-6130-Kolakoski
- hdu 6130 Kolakoski
- hdu 6130 Kolakoski
- HDU 6130 Kolakoski数列
- hdu 6130 Kolakoski
- HDU 6130 Kolakoski【】
- HDU 6130 Kolakoski
- HDU 6130 Kolakoski
- hdu 6130 Kolakoski
- HDU 6130 Kolakoski 打表
- HDU 6130 Kolakoski(数学)
- HDU 6130 Kolakoski【找规律】
- python数据结构-队列
- POJ 3122 Pie(二分答案)
- AndroidStudio配置SVN
- 如何切换Python2与Python3
- Error:The SDK Build Tools revision (24.0.3) is too low for project ':app'
- HDU 6130 Kolakoski【】
- 德国工业考察之拜访3S公司
- KMP-最小矩阵
- Unity中InSpector重写问题
- Modbus编程测试,保持寄存器首个寄存器运行一段时间后为0
- 威佐夫博弈输出第一次如何取-HDU2177
- 如何生成3分钟,5分钟,n分钟K线数据
- JEECG 社区开源项目下载(总览)
- SPFA 堆优化模板