题目描述

Dr. JYY has just created the Coffee Chicken strings, denoted as S(n). They are quite similar to the Fibonacci soup --- today's soup is made by mingling yesterday's soup and the day before yesterday's soup:
- S(1)="COFFEE"S(1) = \texttt{"COFFEE"}S(1)="COFFEE";
- S(2)="CHICKEN"S(2) = \texttt{"CHICKEN"}S(2)="CHICKEN";
- S(n) = S(n-2) :: S(n-1), where :: denotes string concatenation.
The length of S(n) quickly gets out of control as n increases, and there would be no enough memory in JYY's game console to store the entire string. He wants you to find 10 contiguous characters in S(n), starting from the kth character.

描述输出

The first line of input is a single integer T (1≤T≤1000)(1 \leq T \leq 1000)(1≤T≤1000), denoting the number of test cases. Each of the following T lines is a test case, which contains two integers n, k (1≤n≤500,1≤k≤min⁡{∣S(n)∣,1012})(1 \leq n \leq 500, 1 \leq k \leq \min\{|S(n)|, 10^{12}\})(1≤n≤500,1≤k≤min{∣S(n)∣,1012}). |S| denotes the length of string S.

输出描述

For each test case, print the answer in one line. If there are no enough characters from the kth character, output all characters until the end of the string.

输入

2
3 4
2 7

输出

FEECHICKEN
N

题目思路:

可以用递归模拟,因为这是一个类似斐波那契额数列,当前这个位置是由上一次前一次推出来的,所以当前位置k就等于a[n-2]的那个位置或者是k=k-a[n-1];k>a[n-2]长度,那么就相当于求 a[n-1]的第k-a[n-2]个数,如果k<=a[n-2]那就等于求a[n-2]的第k个数,感谢大佬溺生的思路,不太懂的去看看!

AC代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e6+5;
ll a[700];
void make()
{a[1]=6;a[2]=7;for(int i=3;i<=60;i++){a[i]=a[i-1]+a[i-2];}
}
int main()
{make();
//  printf("%lld\n",a[60]);char x[2][30]={"COFFEE","CHICKEN"};int t;scanf("%d",&t);while(t--){ll n,k;scanf("%lld%lld",&n,&k);if(n>=60){if(n%2)   n=59;else n=58;}for(ll i=k;i<=a[n]&&i<k+10;i++){ll w=i,v=n;while(v!=1&&v!=2){if(w>a[v-2]){w=w-a[v-2];v-=1;}elsev-=2;}if(v==1)printf("%c",x[0][w-1]);else if(v==2)printf("%c",x[1][w-1]);}printf("\n");}return 0;
}

【牛客多校第十场】Coffee Chicken相关推荐

  1. 牛客多校第十场F-Popping Balloons

    题目连接 牛客多校F-PoppingBalloons 题意: 用枪打气球,可以横着打三次,竖着打三次,横着打可以把那一行的气球全打下来,竖着打可以把那一列的气球全打下来,但是,每两次相邻的横着打或者竖 ...

  2. 牛客多校第十场 Han Xin and His Troops(扩展中国剩余)

    链接:https://ac.nowcoder.com/acm/contest/890/D 来源:牛客网 题目描述 His majesty chatted with Han Xin about the ...

  3. 2019牛客多校第十场 F.Popping Balloons

    使用线段树,将(1,1+r,1+2r),(2,2+r,2+2r),(3,3+r,3+2r)以此类推,每个看成一个节点,对y进行建树,然后枚举x,维护最大值即可. 代码如下: #include<c ...

  4. 24dian(牛客多校第三场)

    24dian(牛客多校第三场) 题意: 给你n张牌,每张牌的大小为1 ~ 13,问这些牌与加减乘除任意组合(可以使用括号),且但所有的有效解在计算过程中都涉及到分数,即非整数,能否组成答案m,如果可以 ...

  5. 2019牛客多校第四场 I题 后缀自动机_后缀数组_求两个串de公共子串的种类数

    目录 求若干个串的公共子串个数相关变形题 对一个串建后缀自动机,另一个串在上面跑同时计数 广义后缀自动机 后缀数组 其他:POJ 3415 求两个串长度至少为k的公共子串数量 @(牛客多校第四场 I题 ...

  6. 2022牛客多校(十)

    2022牛客多校(十) 一.比赛小结 比赛链接:"蔚来杯"2022牛客暑期多校训练营10 二.题目分析及解法(基础题) F.Shannon Switching Game? 题目链接 ...

  7. 牛客多校第四场【B-Basic Gcd Problem】

    牛客多校第四场[B-Basic Gcd Problem] 题目链接:https://ac.nowcoder.com/acm/contest/5669/B 思路:先要理解公式,多看几个数据基本就会有点想 ...

  8. 牛客多校第三场 B【Classical String Problem】

    牛客多校第三场 B[Classical String Problem] 链接:https://ac.nowcoder.com/acm/contest/5668/B 来源:牛客网 题目描述 Given ...

  9. 2019年牛客多校第1场 赛后总结

    A题 :Equivalent Prefixes  题意:就是给你两个有n个不同数的串,然后保证1-p区间内任选一个区间,使得区间中最小值的下标相同,找到最大的p值  思路:我的思路是设置两个单调栈,然 ...

最新文章

  1. archlinux安装TensorFlow带GPU
  2. 本地安装discuz x2.5(论坛站)程序
  3. delphi 折叠代码 快捷键_我收藏的几个更快搬砖的vscode快捷键
  4. linux云管理,教程|云帮手部署Linux公有云管理系统
  5. leetcode43. 字符串相乘 经典大数+和*
  6. java开发环境实验总结_20155212 实验一《Java开发环境的熟悉》实验报告
  7. python函数装饰器详解_Python语言函数装饰器用法实例详解
  8. Docker之数据卷和数据卷容器
  9. 为什么培训班出来的程序员总遭人嫌弃?
  10. linux 关闭防火墙,关闭8081端口防火墙
  11. Python flask实战订餐系统微信小程序-16后台管理系统其他页面调整
  12. 十年优秀网络玄幻小说大点评(推荐)
  13. 源代码(二)_尚学堂学习
  14. 设置gradle远程仓库_Gradle 创建java项目详细步骤
  15. Android opengl es 3.0 + ndk 绘画涂鸦项目
  16. 苏州大学计算机专业2018年复试上机真题
  17. 计算机历史博物馆观后感:阿达·洛芙莱斯生平9(完结)
  18. 程序员怎么应对行业变化?
  19. 2022年水彩笔市场前景分析及研究报告
  20. 信息安全:信息收集之:被动信息收集

热门文章

  1. 算法:js 数组 array 去重,并显示所有重复的元素
  2. thinkphp6教程笔记
  3. 腾讯云-即时通信 IM uni-app 和 java 整合过程
  4. 蓝桥杯算法很美笔记—排序实现题
  5. android照片墙的实现
  6. Matlab放烟花 带音效哟 祝大家新年快乐
  7. html5 制作 蝴蝶飞动的动态图片,fireworks制作蝴蝶飞gif动画
  8. 第33篇:DNS劫持攻击原理讲解及溯源分析的常规步骤
  9. UG NX 12 鼠标操作
  10. Android使用RecyclerView实现仿微信联系人列表