Submission #47539

#TimeUsernameProblemLanguageResultExecution timeMemory
47539ngkan146Round words (IZhO13_rowords)C++11
12 / 100
60 ms32888 KiB
#include <bits/stdc++.h> using namespace std; string t[2], s[2]; int dp[4005][4005]; int main(){ cin >> s[0] >> s[1]; s[0] = '0' + s[0]; s[1] = '0' + s[1]; for(int i=1;i<s[0].size();i++){ for(int j=1;j<s[1].size();j++){ dp[i][j] = max(dp[i-1][j], dp[i][j-1]); if (s[0][i] == s[1][j]) dp[i][j] = max(dp[i][j], dp[i-1][j-1] + 1); } } int tmp = dp[s[0].size()-1][s[1].size()-1]; s[0].erase(s[0].begin()); s[1].erase(s[1].begin()); s[0] = '0' + s[0]; s[1] = '0' + s[1]; s[0] += s[0]; s[1] += s[1]; //cerr << s[0] << '\n' << s[1] << '\n'; for(int i=1;i<s[0].size();i++){ for(int j=1;j<s[1].size();j++){ dp[i][j] = max(dp[i-1][j], dp[i][j-1]); if (s[0][i] == s[1][j]) dp[i][j] = max(dp[i][j], dp[i-1][j-1] + 1); } } cout << dp[s[0].size()-1][s[1].size()-1] - tmp; }

Compilation message (stderr)

rowords.cpp: In function 'int main()':
rowords.cpp:9:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=1;i<s[0].size();i++){
                 ~^~~~~~~~~~~~
rowords.cpp:10:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int j=1;j<s[1].size();j++){
                     ~^~~~~~~~~~~~
rowords.cpp:24:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=1;i<s[0].size();i++){
                 ~^~~~~~~~~~~~
rowords.cpp:25:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int j=1;j<s[1].size();j++){
                     ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...