uva 620 Cellular Structure
题目大意:给出一个细胞群, 判断该细胞的可能是由哪一种生长方式的到的, 输出该生长方式的最后一种生长种类,
"SIMPLE" -----------------------由 空 生成 ‘A'
"FULLY-GROWN"----------------在 原细胞群(不能为空)的后面 加上 ’AB'
MUTANT----------------------在 原细胞群(不能为空)的前后分别加上 ‘A' 、 ’B'
MUTAGENIC----------------------不可能得到。
解题思路:开辟两个迭代器, 从字符串的两边根据两种生长方式向中间缩进, 最后当a == b &&str[a] == 'A'即为可达到目标的生长方式。
#include <stdio.h>
#include <string.h>
const int N = 1005;
char str[N]; bool dp(int a, int b) {
if (a == b)
return str[a] == 'A' ? true : false;
else if (str[b - 1] == 'A' && str[b] == 'B')
return dp(a, b - 2) ? true : false;
else if (str[a] == 'B' && str[b] == 'A')
return dp(a + 1, b - 1) ? true : false;
return false;
} int main() {
int cas;
scanf("%d", &cas);
while (cas--) {
scanf("%s", str);
int len = strlen(str) - 1;
if (len == 0 && str[0] == 'A')
printf("SIMPLE\n");
else if (str[len - 1] == 'A' && str[len] == 'B' && dp(0, len - 2))
printf("FULLY-GROWN\n");
else if (str[0] == 'B' && str[len] == 'A' && dp(1, len - 1))
printf("MUTAGENIC\n");
else
printf("MUTANT\n");
}
return 0;
}
uva 620 Cellular Structure的更多相关文章
- UVA 620 Cellular Structure (dp)
Cellular Structure A chain of connected cells of two types A and B composes a cellular structure o ...
- UVA 1386 - Cellular Automaton(循环矩阵)
UVA 1386 - Cellular Automaton option=com_onlinejudge&Itemid=8&page=show_problem&category ...
- UVa 3704 Cellular Automaton(矩乘)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=15129 [思路] 矩阵乘法-循环矩阵 题目中的转移矩阵是一个循环矩 ...
- UVA 1386 Cellular Automaton
矩阵快速幂. 样例是这样构造矩阵的: 矩阵很好构造,但是500*500*500*logk的复杂度显然是无法通过这题的. 其实本题构造出来的矩阵是一个循环矩阵,只需直到第一行或者第一列,即可直到整个矩阵 ...
- UVA - 1456 Cellular Network
题目大意: 手机在蜂窝网络中的定位是一个基本问题.如果蜂窝网络已经得知手机处于c1, c2,-,cn这些区域中的一个.最简单的方法是同一时候在这些区域中寻找手机.但这样做非常浪费带宽. 因为蜂窝网络中 ...
- DP + 概率 + 贪心 UVA 1456 Cellular Network
题目传送门 题意:(摘自LRJ<训练指南>) 手机在蜂窝网络中的定位是一个基本问题.假设蜂窝网络已经得知手机处于c1, c2,…,cn这些区域中的一个,最简单的方法是同时在这些区域中寻找手 ...
- UVA题目分类
题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics ...
- 算法入门经典大赛 Dynamic Programming
111 - History Grading LCS 103 - Stacking Boxes 最多能叠多少个box DAG最长路 10405 - Longest Common Subsequence ...
- L345 大脑复生
Yale Researchers Build BrainEx Machine to Restore Brain Function After Death Researchers at Yale Uni ...
随机推荐
- Qt中的对象类型转换(Qstring 转换char*有三种方法)
char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = c ...
- 引用 IP电话的原理结构及其关键技术
引用 茫然 的 两种将字符串转换成浮点数的方法 方法一: char szString[] = "-2876.99812376443"; double db1; db1 = atof ...
- 字符串操作函数<string.h>相关函数strcpy,strcat,等源码。
首先说一下源码到底在哪里找. 我们在文件中包含<cstring>时,如果点击右键打开文档, 会打开cstring,我们会发现路径为: D:\Program Files\visual stu ...
- cocos2d-x游戏开发系列教程-超级玛丽08-消息机制
在超级玛丽游戏里,地图类CMGameMap负责所有的程序逻辑,它包含了背景地图,包含了游戏元素精灵,当游戏中的精灵之间发生碰撞时,比如马里奥撞上砖头这种事情发生时,马里奥对象本身不知道怎么处理这个逻辑 ...
- Windows Azure 社区新闻综述(#75 版)
欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻.内容和对话.以下是本周的亮点. 文章.视频和博客文章 · PowerShell 对 Windows A ...
- 我写的一个 Qt 显示图片的控件
Qt 中没有专门显示图片的控件.通常我们会使用QLabel来显示图片.可是QLabel 显示图片的能力还是有点弱.比方不支持图像的缩放一类的功能.使用起来不是非常方便. 因此我就自己写了个简单的类. ...
- C - Virtual Friends
网上搜了,好多c++里的东西啊 有思路不会做,真烦,还是好好学c++: 先把题和代码粘过来,过几天学c++好了再看 http://acm.hust.edu.cn/vjudge/contest/view ...
- POJ 1379 Run Away 【基础模拟退火】
题意:找出一点,距离所有所有点的最短距离最大 二维平面内模拟退火即可,同样这题用最小圆覆盖也是可以的. Source Code: //#pragma comment(linker, "/ST ...
- BFS 、DFS 解决迷宫入门问题
问题 B: 逃离迷宫二 时间限制: 1 Sec 内存限制: 128 MB提交: 12 解决: 5[提交][状态][讨论版] 题目描述 王子深爱着公主.但是一天,公主被妖怪抓走了,并且被关到了迷宫. ...
- Python 2.7 学习笔记 异常处理
如同别的开发语言,python也支持异常处理机制.本文介绍下它的基本语法. 一.异常的基本处理框架如下: try: 业务代码 except 异常类1: 异常处理代码 except 异常类2: 异常处理 ...