結果
| 問題 | 
                            No.225 文字列変更(medium)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             hogeover30
                         | 
                    
| 提出日時 | 2016-04-13 16:23:03 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                CE
                                 
                             
                            
                            (最新)
                                AC
                                 
                             
                            (最初)
                            
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 504 bytes | 
| コンパイル時間 | 635 ms | 
| コンパイル使用メモリ | 52,688 KB | 
| 最終ジャッジ日時 | 2024-11-14 19:40:56 | 
| 合計ジャッジ時間 | 1,215 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge2 | 
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
            
            
            
            
            ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:12:5: error: ‘vector’ was not declared in this scope
   12 |     vector<vector<unsigned>> dp(n+1, vector<unsigned>(m+1, -1));
      |     ^~~~~~
main.cpp:3:1: note: ‘std::vector’ is defined in header ‘<vector>’; did you forget to ‘#include <vector>’?
    2 | #include <algorithm>
  +++ |+#include <vector>
    3 | #include <string>
main.cpp:12:19: error: expected primary-expression before ‘unsigned’
   12 |     vector<vector<unsigned>> dp(n+1, vector<unsigned>(m+1, -1));
      |                   ^~~~~~~~
main.cpp:14:5: error: ‘dp’ was not declared in this scope
   14 |     dp[0][0]=0;
      |     ^~
main.cpp:20:29: error: no matching function for call to ‘min(<brace-enclosed initializer list>)’
   20 |             dp[i+1][j+1]=min({dp[i][j]+(s[i]!=t[j]), dp[i][j+1]+1, dp[i+1][j]+1});
      |                          ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from main.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:230:5: note: candidate: ‘template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)’
  230 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
main.cpp:20:29: note:   candidate expects 2 arguments, 1 provided
   20 |             dp[i+1][j+1]=min({dp[i][j]+(s[i]!=t[j]), dp[i][j+1]+1, dp[i+1][j]+1});
      |                          ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
        
            
            ソースコード
#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;
}
            
            
            
        
            
hogeover30