zoukankan      html  css  js  c++  java
  • UVA 620 Cellular Structure

    UVA_620

        话说真的不知道为什么这道题目会放在动规的分类里,只要递归判断就可以了。如果存在多个状态的话,要输出细胞成长最后一个的状态。

    #include<stdio.h>
    #include<string.h>
    #define MAXD 100010
    int N, max;
    char b[MAXD];
    void dfs(int s, int t, int flag)
    {
    if(s == t)
    {
    if(b[s] == 'A')
    {
    if(flag)
    max = 1, flag = 0;
    }
    else
    max = 0;
    }
    else if(t - s >= 2)
    {
    if(b[t] == 'B' && b[t - 1] == 'A')
    {
    if(flag)
    max = 2, flag = 0;
    dfs(s, t - 2, flag);
    }
    else if(b[s] == 'B' && b[t] == 'A')
    {
    if(flag)
    max = 3, flag = 0;
    dfs(s + 1, t - 1, flag);
    }
    else
    max = 0;
    }
    else
    max = 0;
    }
    void solve()
    {
    int s, t;
    scanf("%s", b);
    max = 0;
    s = 0, t = strlen(b) - 1;
    dfs(s, t, 1);
    if(max == 0)
    printf("MUTANT\n");
    else if(max == 1)
    printf("SIMPLE\n");
    else if(max == 2)
    printf("FULLY-GROWN\n");
    else
    printf("MUTAGENIC\n");
    }
    int main()
    {
    while(scanf("%d", &N) == 1)
    {
    for(int i = 0; i < N; i ++)
    solve();
    }
    return 0;
    }


  • 相关阅读:
    Java IO: 读取classpath资源
    Java IO: Reader和Writer
    Java IO: 读写zip文件
    OpenFlow运行机制总结
    OpenFlow流表概述
    Java日志系统(学习总结)
    卷积神经网络重要回顾
    Java Servlet学习笔记
    fragment实例
    Fragment应用
  • 原文地址:https://www.cnblogs.com/staginner/p/2241904.html
Copyright © 2011-2022 走看看