//my
class Solution {
public:
bool isScramble(string &s1, string &s2) {
int m = s1.size(), n = s2.size();
if (m != n)
return false;
vector<vector<vector<bool>>> dp(m, vector<vector<bool>>(m, vector<bool>(m + 1, false)));
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
dp[i][j][1] = (s1[i] == s2[j]);
}
}
for (int k = 2; k <= m; k++) {
for (int i = 0; i <= m - k; i++) {
for (int j = 0; j <= m - k; j++) {
for (int w = 1; w < k; w++) {
if (dp[i][j][w] && dp[i + w][j + w][k - w]) {
dp[i][j][k] = true;
break;
}
if (dp[i][j + k - w][w] && dp[i + w][j][k - w]) {
dp[i][j][k] = true;
break;
}
}
}
}
}
return dp[0][0][m];
}
};
i430 区间dp
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1090 大...