博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU6130 签到题 打表
阅读量:4878 次
发布时间:2019-06-11

本文共 1123 字,大约阅读时间需要 3 分钟。

题意:给出一个描述自身的数列,求出第n项

思路:看了很久题目才看懂..每个值其实是描述一个分组中的个数,把两个数列对照一下就可以了,那么一个指针扫,同时向尾部加数,构造个数组就行了。其实很水..

 

/** @Date    : 2017-08-15 12:13:59  * @FileName: 1011.cpp  * @Platform: Windows  * @Author  : Lweleth (SoungEarlf@gmail.com)  * @Link    : https://github.com/  * @Version : $Id$  */#include 
#define LL long long#define PII pair
#define MP(x, y) make_pair((x),(y))#define fi first#define se second#define PB(x) push_back((x))#define MMG(x) memset((x), -1,sizeof(x))#define MMF(x) memset((x),0,sizeof(x))#define MMI(x) memset((x), INF, sizeof(x))using namespace std;const int INF = 0x3f3f3f3f;const int N = 1e7+20;const double eps = 1e-8;int a[N] = {0, 1,2,2,1,1,2,1,2,2,1,2,2,1, 1, 2, 1, 1, 2, 2, 1};int main(){ int cnt = 21; for(int i = 14; cnt <= 10000000; i++) { if(a[i] == 0) break; if(a[i] == 1) { a[cnt] = (3 - a[cnt - 1]); cnt++; } else if(a[i] == 2) { a[cnt] = (3 - a[cnt - 1]); a[cnt + 1] = (3 - a[cnt - 1]); cnt += 2; } } int T; cin >> T; while(T--) { int n; scanf("%d", &n); printf("%d\n", a[n]); } return 0;}

转载于:https://www.cnblogs.com/Yumesenya/p/7392134.html

你可能感兴趣的文章
程序员如何选择学习新知识
查看>>
STM32小知识笔记
查看>>
使用C#执行PowerShell命令
查看>>
爬虫之scrapy--基本操作
查看>>
Android开发之游戏中的数学、物理、AI
查看>>
SM13 中 V1 和 V2 的区别
查看>>
谈谈LoadRunner中Pacing的设置
查看>>
使用EntityFramework6完成增删查改和事务
查看>>
Linux小技巧
查看>>
ASP.NET 文本框失去焦点事件验证用户是否已经存在
查看>>
bzoj4826: [Hnoi2017]影魔
查看>>
Tasklist 命令的使用
查看>>
桥接模式
查看>>
值不值
查看>>
mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享
查看>>
一道组合数问题--出自 曹钦翔_wc2012组合计数与动态规划
查看>>
django:multivaluedictkeyerror错误
查看>>
常用模块
查看>>
【剑指offer】二维数组中的查找☆
查看>>
【leetcode】Median of Two Sorted Arrays(hard)★!!
查看>>