Kitty猫基因编码⁡\operatorname{Kitty猫基因编码}Kitty猫基因编码

题目链接:luogu P2562⁡\operatorname{luogu\ P2562}luogu P2562

题目

小可可选修了基础生物基因学。教授告诉大家 Super Samuel 星球上 Kitty 猫的基因的长度都是 222 的正整数次幂 ), 全是由两种不同的基因单元组成的。 这两种不同的基因单元分别记成 000 和 111 ,于是 Kitty 猫基因可以写成一个 01 串表达式 。

为了便于分析和降低数据存储量,教授发明了 ABC 编码规则。该编码规则是不断地按照

对 Kitty 猫基因 01 串表达式 进行改写, 直至最终被改写成只含有字符 “A” 、“B” 、“C” 的符号串。

请你编写程序帮助小可可求出 Kitty 猫基因的 ABC 编码以协助教授开展科研工作。

输入

文件中以一行的形式存放了一个 Kitty 猫基因的 01 串表达式。

输出

以一行的形式输出这个 Kitty 猫基因的 ABC 编码。

样例输入1

00

样例输出1

A

样例输入2

01001011

样例输出2

CCCABACCBAB

数据范围

给出的 01 字符串长度 Len≤256Len\leq 256Len≤256

思路

这道题其实和我之前做过的 FBI树 很像,只有几点不同:

  1. FBI 树中就算是全 000 或者全 111 串,都要继续递归,但是这个不用
  2. FBI 树后序遍历,这个是先序遍历
  3. FBI 树给出了 nnn ,而这个没有

代码

#include<cstdio>
#include<cstring>using namespace std;char a[1051];void work(int l, int r) {int check = a[l] - '0';for (int i = l + 1; i <= r; i++)if ((a[i] - '0') != check) {check = -1;break;}if (check == -1) {printf("C");if (l < r) {int mid = (l + r) >> 1;work(l, mid);work(mid + 1, r);}}else if (check == 0) printf("A");else printf("B");
}int main() {scanf("%s", &a);work(0, strlen(a) - 1);return 0;
} 

Kitty猫基因编码相关推荐

  1. P2562 [AHOI2002]Kitty猫基因编码

    题目描述 小可可选修了基础生物基因学.教授告诉大家 Super Samuel 星球上 Kitty猫的基因的长度都是 2 的正整数次幂 ), 全是由两种不同的基因单元组成的. 这两种不同的基因单元分别记 ...

  2. kitty猫的基因编码

    kitty猫的基因编码 Time Limit:1s Memory Limit:1000k Total Submit:4105 Accepted:1529 Problem kitty的基因编码如下定义: ...

  3. 基因组中的趣事(一):这个基因编码98种转录本

    从ENSEMBL的注释来看,人基因组中包含60,676个注释的基因,19968个蛋白编码基因.这些基因长度不同.位置不同.转录出的转录本不同,下面我们用几篇推文一步步去了解下基因组中的基因都有哪些令我 ...

  4. 三进制 四进制计算机原理,基因编码为何选择了“四进制”,而不是计算机系统的“二进制”?...

    计算机已经成功的证明,"二进制"是一种简洁又高效的编码方案(且与物理硬件相得益彰),它可以传递和映射任意复杂度的信息. 但基因编码,绝大部分却使用了4种碱基(DNA是ATCG,RN ...

  5. python实现 - 第一行包括一个整数N,接下来的N行里 每行包含一个特殊基因片段的编码;接 下来输入一个整数M,M行里每行有一 个字符串代表基因编码;

    文章目录 每日一练 - 1 一.题目 二.编程 三.结果 每日一练 - 1 一.题目   如果个人要想拥有超能力当且仅当他的基因编码里包含至少1个特殊基因片段作为子串.请编写程序帮助科学家筛选出真正具 ...

  6. Kitty用HTML和css咋做,使用CSS3代码绘制可爱的Hello Kitty猫

    感觉这个 Hello Kitty 画的还不错,心血来潮也用 CSS3 画了个 Hello Kitty,现在在这里记录一下详细的绘制过程.想要源码.素材.在线演示的同学可以直接拉到最下面.我们先看下原图 ...

  7. Kitty猫 vs. 百度狗,区块链动物大战,谁将下一个入局?

    (图片来源于网络) 最近关于百度"莱茨狗"的消息很快就在区块链圈子里刷了屏,甚至于有位圈外的朋友问我,能不能帮忙在百度买只狗,最好是哈士奇公狗-- 圈外人的关注点是"百度 ...

  8. P2562kitty猫基因

    这道题是安徽NOI省选题,但是难度并没有那么难. 这道题是一个字符串的递归题,有很多大佬用线段树来写的(我也想学线段树,lowbit当头一棒).题意为全部相同则输出B或A,不同则分成长度相同的两个子串 ...

  9. 洛谷精选 - 字符串合集

    https://www.luogu.org/problemnew/lists?name=&orderitem=difficulty&tag=2&content=0&se ...

最新文章

  1. php 类 接口的区别吗,PHP的接口类(interface)和抽象类(abstract)的区别
  2. ios软件商店上架老被打回_安卓神级特殊站点+苹果下载神器上架
  3. python中append的用法_Python 列表 append() 使用方法及示例
  4. 【Hibernate步步为营】--多对多映射详解
  5. elasticsearch 最佳实践
  6. Java压缩html
  7. 用C#制作PDF文件全攻略(转)
  8. Webpack实战(九):实现资源按需加载-资源异步加载
  9. MWeb建立静态网站/博客的基础教程
  10. 如何用yolov5训练自己的图片
  11. 【更新】PDF控件Spire.PDF 3.9.538发布 | 附下载
  12. 谈谈目前国内IDC主机管理系统现状和使用感受
  13. C语言万年历设计制作
  14. c语言反三角函数有哪些,反三角函数公式有哪些?
  15. Third season fifth episode,Phoebe‘s brother Frank came to see her
  16. SQL - 多字段组合升序ASC降序DESC
  17. 你知道吗?一个比房地产更大的超级泡沫正风靡全国!
  18. 山东农业大学计算机复试,山东农业大学复试录取分数线
  19. 再见c罗再见梅西_再见眼镜你好smartglasses
  20. Android 使用fastboot命令刷机流程

热门文章

  1. python的飞机大战
  2. 图片变色HSV-shader
  3. python 图像清晰度_图像清晰度评价指标(Python)
  4. storyboard 使用
  5. Css图片批量下载小工具--saveimg1.5
  6. Ubuntu Linux 3D桌面完全教程 显卡驱动安装方法 compiz特效介绍
  7. 64位驱动 hp630打印机_HP Deskjet 1280打印机x64驱动下载|HP1280打印机windows7 x64位驱动 - 驱动无忧...
  8. 互联网产品的定义及分类
  9. 2020开篇:做一个优质的斜杠青年
  10. php三个错误报告级别,php三个错误报告级别类型是什么