再请问一下,这个题是如何保证a串和b串加了空格之后长度相等的呢?
by Mr_ll @ 2022-07-18 19:03:55
```cpp
f[0][0][0]=f[0][0][1]=f[0][0][2]=0;
for(int i=1;i<=la;i++){
for(int j=1;j<=lb;j++){
```
这三行应改成
```cpp
f[0][0][0]=0;
for(int i=0;i<=la;i++){
for(int j=0;j<=lb;j++){
```
可以结合样例理解一下。
样例输入:
```plain
AAAA
TAAAA
100 -100 0 0
0 0 0 0
0 0 0 0
0 0 0 0
2 1
```
样例输出:
```plain
398
```
样例解释:
```plain
-AAAA
TAAAA
```
by LIUJUNYU @ 2022-08-05 16:43:02
@[Mr_ll](/user/365532) 我认为可以这样理解:每次状态转移视为两个串对应字符(字母或空格)的之间的匹配,由于匹配时两个字符(字母或空格)成对出现,不仅可以保证匹配完成(即完成所有状态转移)时两个插入空格后的串长度相等,在匹配过程(即每次成功的状态转移)中也是如此。
by LIUJUNYU @ 2022-08-05 16:55:30
@[LIUJUNYU](/user/444344) 大概明白聊,谢谢您
by Mr_ll @ 2022-08-06 08:13:37