您的位置:首页 > 大数据 > 人工智能

2017 Multi-University Training Contest - Team 7 Kolakoski

2017-08-23 19:46 537 查看
http://acm.hdu.edu.cn/showproblem.php?pid=6130

题意:

  现在有一个名字为Kolakoski的序列,关于Kolakoski序列的定义是相邻的相同的数字为一组,第i位的数字表示的是第i组一共有ai个元素,然后每组是1,2这样交替,现在给你一个n,让你求出第n位的数字是什么。第一位为1,第二位为2.

思路:

  直接按Kolakoski的定义模拟即可。简单暴力。数据水到比赛的时候直接判断n的奇偶就能过了这道题。。

代码:

#include<bits/stdc++.h>
using namespace std;
#define MAXN 10000005
int a[MAXN];
int main(){
a[1] = 1;
a[2] = a[3] = 2;
int flag = 0;
int total = 4;
int idx = 3;
while(total < MAXN){
for(int i = 0;i < a[idx];i++){
a[total++] = flag + 1;
}
idx++;
flag = !flag;
}
int T,n;
while(~scanf("%d",&T)){
while(T--){
scanf("%d",&n);
printf("%d\n",a
);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐