码迷,mamicode.com
首页 > 其他好文 > 详细

【Luogu2562】基因编码

时间:2017-05-29 19:14:06      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:targe   lag   problem   题解   输出   string   blog   else   ==   

点此进入原题

算法简单递归

题解

偶然间翻到这题,其实这题和FBI树很像(这题更简单一点)

一道很好的入门递归练习题,推荐大家来玩玩~

代码:

#include <cstdio>
#include <cstring> 
const int N = 1<<10+5; //这题没给数据范围啊貌似,就直接用了FBI树的数据范围,貌似可以过QWQ
char s[N];
void dfs(int b, int e) {
    bool flag = true;
    char c = s[b];
    for(int i = b+1; flag && i <= e; i++) //判断是否为全0或全1
        if(s[i] != s[i-1]) flag = false;
    if(flag) { //如果是全0或全1,按题意输出A或B
        if(s[b] == 0) putchar(A);
        else putchar(B);
    }
    else { //否则输出C
        putchar(C);
        dfs(b, (b+e)/2); //分成等长子串继续递归
        dfs((b+e)/2+1, e); //同上
    }
}
int main() {
    scanf("%s", s+1);
    int n = strlen(s+1);
    dfs(1, n);
}

 

【Luogu2562】基因编码

标签:targe   lag   problem   题解   输出   string   blog   else   ==   

原文地址:http://www.cnblogs.com/farway17/p/6918692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!