AcWing
  • 首页
  • 课程
  • 题库
  • 更多
    • 竞赛
    • 题解
    • 分享
    • 问答
    • 应用
    • 校园
  • 关闭
    历史记录
    清除记录
    猜你想搜
    AcWing热点
  • App
  • 登录/注册

LeetCode E - Similarity (Easy Version). 2025/5/12 E    原题链接    中等

作者: 作者的头像   夏智彬 ,  2025-05-12 21:20:41 · 广东 ,  所有人可见 ,  阅读 3


0


屏幕截图 2025-05-12 211932.png

很简单的dp题

#include <bits/stdc++.h>

using namespace std;

const int N = 60;

int T;
int dp[N][N];
char str[N][N];

int main()
{
    cin >> T;

    while (T -- )
    {
        int n;
        cin >> n;

        for (int i = 0; i < n; i ++ )
            cin >> str[i] + 1;

        int res = 0;
        memset(dp, 0, sizeof dp);
        for (int i = 0; i < n; i ++ )
        {
            for (int j = i + 1; j < n; j ++ )
            {
//              cout << i << ' ' << j << ' ';
                memset(dp, 0, sizeof dp);
                int lena = strlen(str[i] + 1), lenb = strlen(str[j] + 1);

                for (int a = 1; a <= lena; a ++ )
                    for (int b = 1; b <= lenb; b ++ )
                    {
                        if (str[i][a] == str[j][b]) dp[a][b] = max(dp[a][b], dp[a - 1][b - 1] + 1);
                        res = max(res, dp[a][b]);
                    }   

//              cout << dp[lena][lenb] << endl; 

            }
        }

        cout << res << endl;
    }
}

0 评论

App 内打开
你确定删除吗?
1024
x

© 2018-2025 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息