THPTTD_80 - Xâu con chung

Xem dạng PDF

Gửi bài giải


Điểm: 6,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: sub.inp
Output: sub.out

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài


Bình luận

Please read the guidelines before commenting.



  • 0
    npg2011  đã bình luận lúc 26, Tháng 11, 2025, 12:40

    include<bits/stdc++.h>

    using namespace std; map<char, long long >dem; map<char , long long>dem1; const long long N=1e3; long long dp[N][N]; int main() { freopen("SUB.INP","r",stdin); freopen("SUB.OUT","w",stdout); string s; getline(cin,s); string s1; getline(cin,s1); for(long long i=0;i<s.size();i++) { dem[s[i]]++; } for(long long i=0;i<s1.size();i++) { dem1[s1[i]]++; } for(long long i=0;i<s.size();i++) { if(dem1[s[i]]==0) { s.erase(i,1); i--; } } for(long long i=0;i<s1.size();i++) { if(dem[s1[i]]==0) { s1.erase(i,1); i--; } } if(s.size()==0 || s1.size()==0) { cout<<0;return 0; } long long n=s.size(); long long m=s1.size(); for(long long i=1;i<=n;i++) { for(long long j=1;j<=m;j++) { if(s[i-1]==s1[j-1]) { dp[i][j]=dp[i-1][j-1]+1; } else { dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } } cout<<dp[n][m]; } code cho anh em