UVA 620 Cellular Structure(dfs)
来源:互联网 发布:jsp个人博客系统源码 编辑:程序博客网 时间:2024/05/16 09:33
这题真的很难理解,看了别人的解析才明白是在讲什么,其实做起来不算难。
题目大意:
给定一个细胞链,只有AB两种字母组成。
有三种方式,一种是从物到有生成A,一种是在原有的基础上,加上AB,一种是B+原有的字符串+A,O代表是正常的细胞链,最后看一下这个细胞链是否是由这些组合构成的,输出最后的操作。如果不是这三种方式中的一种,那么该细胞链已变异,作为第四种输出。
解析:
不算dp,直接dfs就好了。从外向内dfs,看中间的那个是否为A,如果为A就ok,否则就变异,如果ok就对字符串,进行判断,是上面三种中的哪一种情况。
题目大意:
给定一个细胞链,只有AB两种字母组成。
有三种方式,一种是从物到有生成A,一种是在原有的基础上,加上AB,一种是B+原有的字符串+A,O代表是正常的细胞链,最后看一下这个细胞链是否是由这些组合构成的,输出最后的操作。如果不是这三种方式中的一种,那么该细胞链已变异,作为第四种输出。
解析:
不算dp,直接dfs就好了。从外向内dfs,看中间的那个是否为A,如果为A就ok,否则就变异,如果ok就对字符串,进行判断,是上面三种中的哪一种情况。
#include <cstdio>#include <cstring>using namespace std;const int N = 1000;char cells[N];bool ok;void dfs(int l,int r) {if(l == r-1) {return;}if(l == r) {if(cells[l] == 'A') {ok = true;}return ;}if(cells[l] == 'B' && cells[r] == 'A') {dfs(l+1,r-1);}if(cells[r-1] == 'A' && cells[r] == 'B') {dfs(l,r-2);}}int main() {int T;scanf("%d",&T);while(T--) {scanf("%s",cells);int len = strlen(cells);ok = false;dfs(0,len-1);if(!ok) {printf("MUTANT\n");}else {if(len == 1 && cells[0] == 'A') {printf("SIMPLE\n");}else if(cells[0] == 'B' && cells[len-1] == 'A'){printf("MUTAGENIC\n");}else if(cells[len-2] == 'A' && cells[len-1] == 'B') {printf("FULLY-GROWN\n");}}}return 0;}
0 0
- UVA 620 Cellular Structure(dfs)
- uva 620 Cellular Structure
- UVA 620 Cellular Structure
- UVa 620 - Cellular Structure
- uva 620 - Cellular Structure
- UVa 620 - Cellular Structure
- Uva-620-Cellular Structure
- uva 620 Cellular Structure
- uva 620 - Cellular Structure
- UVA - 620 Cellular Structure
- UVa:620 Cellular Structure
- uva 620 Cellular Structure
- UVA - 620 Cellular Structure
- UVA 620 Cellular Structure
- UVA 620 - Cellular Structure
- UVA - 620 Cellular Structure
- UVa 620 Cellular Structure
- UVA 620 Cellular Structure
- Linux xhost命令详解
- Android 音乐播放器的开发教程(六)service的运用及音乐列表点击播放 ----- 小达
- 消息队列技术终结者(三)—ActiveMQ的特性及优势
- UVA 409-Excuses, Excuses!(模拟)
- 移动支付sdk技术总结-2(混淆打包)
- UVA 620 Cellular Structure(dfs)
- 黑马程序员—Java入门学习日记基础篇-面向对象总结3
- JUnit4 使用进阶一
- 韩顺平php视频笔记35 php运行过程
- GVIM主题配置文件_vimrc
- java集合的那些事以map为例
- MVC 5 的 EF6 Code First 入门
- 陷阱学习2
- PostgreSQL每日一贴-从源码安装(9.4)