题目名称 | 224. [POI 1997] 基因串 |
---|---|
输入输出 | gen.in/out |
难度等级 | ★★★ |
时间限制 | 1500 ms (1.5 s) |
内存限制 | 128 MiB |
测试数据 | 15 |
题目来源 | BYVoid 于2008-11-26加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
查看题解 | 分享题解 |
通过:12, 提交:15, 通过率:80% | ||||
.Xmz | 100 | 0.117 s | 2.73 MiB | C++ |
0 | 100 | 0.127 s | 1.19 MiB | C++ |
浮生随想 | 100 | 0.206 s | 0.45 MiB | C++ |
skyfly | 100 | 0.212 s | 0.34 MiB | C++ |
skyfly | 100 | 0.269 s | 0.40 MiB | C++ |
ybh | 100 | 0.415 s | 0.19 MiB | Pascal |
lc | 100 | 0.452 s | 0.19 MiB | Pascal |
yrtiop | 100 | 0.907 s | 3.88 MiB | C++ |
.Xmz | 100 | 1.397 s | 2.32 MiB | C++ |
yuan | 100 | 1.822 s | 3.61 MiB | C++ |
本题关联比赛 | |||
4043级NOIP2022欢乐赛6th |
关于 基因串 的近10条评论(全部评论) | ||||
---|---|---|---|---|
数据范围与数据不符
0
2015-10-06 18:41
1楼
|
基因串是由一串有限长度的基因组成,其中每个基因用 $26$ 个大写字母之一来表示,不同的字母表示不同的基因类型。一个单独的基因可以分裂成一对新的基因,而可能分裂的规则是通过一个有限的分裂规则集所决定的。每一个分裂的规则可以用三个大写英文字母 $A_1A_2A_3$ 来描述,这个规则的意思是基因 $A_1$ 可以分裂为一对基因 $A_2A_3$。
我们用大写字母 $S$ 来表示一类被称作超级基因的基因。因为每一个基因串都是由超级基因串(仅包含 $S$)根据给出的规则所分裂出来的。
请写一个程序:
第 $1$ 行包含一个正整数 $m$;
接下来 $m$ 行,每行都包括一个分裂的规则,每个规则由三个大写英文字母组成。
第 $m+2$ 行包含一个正整数 $t$;
接下来 $t$ 行,每行都有一个基因串。
共 $t$ 行,第 $i$ 行中你应该输出以下内容:
一个正整数,表示可分裂成输入的第 $i$ 个基因串所需的最短超级基因串的长度;
或一个单词 $NIE$(波兰语的“否”),表示无法由超级基因串分裂成该基因串。
6 SAB SBC SAA ACA BCC CBC 3 ABBCAAABCA CCC BA
3 1 NIE
点击下载样例2
对于其中 $5$ 组数据,$1 \leq m \leq 30,1 \leq t \leq 5$,基因串的长度不超过 $15$。
对于另外 $6$ 组数据,$1 \leq m \leq 20,1 \leq t \leq 5$,基因串的长度不超过 $100$。
对于另外 $4$ 组数据,$1 \leq m \leq 2000,1 \leq t \leq 3000$,基因串的长度不超过 $15$。