結果

問題 No.225 文字列変更(medium)
コンテスト
ユーザー hogeover30
提出日時 2016-04-13 16:23:03
言語 C++11(old_compat)
(gcc 12.4.0 + boost 1.89.0)
コンパイル:
g++-12 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -include bits/stdc++.h -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 6 ms / 5,000 ms
コード長 504 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,193 ms
コンパイル使用メモリ 170,556 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2026-03-08 16:06:11
合計ジャッジ時間 1,645 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int main()
{
    int n, m;
    string s, t;
    cin>>n>>m>>s>>t;

    vector<vector<unsigned>> dp(n+1, vector<unsigned>(m+1, -1));

    dp[0][0]=0;
    for(int i=1; i<=n; ++i) dp[i][0]=i;
    for(int j=1; j<=m; ++j) dp[0][j]=j;

    for(int i=0; i<n; ++i) {
        for(int j=0; j<m; ++j) {
            dp[i+1][j+1]=min({dp[i][j]+(s[i]!=t[j]), dp[i][j+1]+1, dp[i+1][j]+1});
        }
    }
    cout<<(int)dp[n][m]<<endl;
}
0