杭电 Kolakoski
来源:互联网 发布:8097端口 编辑:程序博客网 时间:2024/06/06 07:29
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 itsn 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
思路:Kolakoski数列,
Kolakoski序列是一个仅由1和2组成的无限数列,是一种通过“自描述”来定义的数列[1] 。他的前几项为1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1,2,1,1,2,1,2,2,1,1,…(OEIS上的A000002)它的定义很简单,若把数列中相同的数定为一组,令a(1)=1,a(2)=2,则a(n)等于第n组数的长度。可以根据这个定义来推算第三项以后的数:例如由于a(2)=2,因此第2组数的长度是2,因此a(3)=2,;由于a(3)=2,所以第三组数的长度是2,因此a(4)=a(5)=1;由于a(4)=1,a(5)=1,所以第四组数和第五组数的长度都为1,因此a(6)=2,a(7)=1,以此类推。[2]根据该定义 模拟+打表 即可
AC代码如下:
#include <iostream>#include <cstdio>using namespace std;const int maxn=1e7+10;int a[maxn];int main(){ int t; int n; a[1]=1; a[2]=2; a[3]=2; int cur=3; int flag=2; for(int i=4;i<maxn;) { int num=a[cur]; for(int j=0;j<num;j++) { if(flag==2) a[i]=1; else a[i]=2; if(j==num-1) flag=a[i]; i++; } cur++; } cin>>t; while(t--) { cin>>n; cout<<a[n]<<endl; } return 0;}
阅读全文
1 0
- 杭电 Kolakoski
- 杭电暑期多校集训—Kolakoski
- Kolakoski
- hdu6130--Kolakoski
- HDU6130 Kolakoski
- HDU6130-Kolakoski
- HDU6130-Kolakoski
- HDU-Kolakoski
- Kolakoski序列
- Kolakoski序列
- kolakoski序列
- HDU 6130-Kolakoski(Kolakoski序列)
- 【HDU 6130 Kolakoski】& Kolakoski & 打表
- Kolakoski(思维+找规律)
- hdu-6130-Kolakoski
- HDU 6130 Kolakoski
- HDU_6130 Kolakoski 【规律】
- HDU 6130 Kolakoski
- CSS vertical-align属性的用法
- html标准流中的浮动元素之空间零占用
- KMP算法
- HDOJ1300 Pearls 简单dp
- Just do it待解决
- 杭电 Kolakoski
- rtmpdump的librtmp时间戳有问题,服务器会断开连接
- NXP-EVB-P6UL linux根文件系统定制手册《一》
- JS中一种实现sleep函数的方案
- react-native插件
- 微信浏览器、手机版浏览器、pc版浏览器网站的缓存怎么清理? 比较好的三点解决方案
- ECharts地图颜色-选中颜色设置
- Java并发之AQS详解
- 这小伙思想有点