Submission #371166

#TimeUsernameProblemLanguageResultExecution timeMemory
371166CodePlatinaLamps (JOI19_lamps)C++17
4 / 100
73 ms27836 KiB
#include <iostream> #include <algorithm> #include <vector> #include <utility> #include <tuple> #include <string> #define pii pair<int, int> #define pll pair<long long, long long> #define piii pair<int, pii> #define plll pair<long long, pll> #define tiii tuple<int, int, int> #define tiiii tuple<int, int, int, int> #define tlll tuple<long long, long long, long long> #define tllll tuple<long long, long long, long long, long long> #define ff first #define ss second #define ee ss.ff #define rr ss.ss #define DEBUG using namespace std; const int INF = (int)1e9; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; string s, t; cin >> s >> t; int dp[n + 1][6]{}; for(int i = 1; i < 6; ++i) dp[0][i] = INF; for(int i = 0; i < n; ++i) { for(int j = 0; j < 6; ++j) { if(j == 0 && s[i] == t[i] || j == 1 && t[i] == '0' || j == 2 && t[i] == '1' || j == 3 && s[i] != t[i] || j == 4 && t[i] == '1' || j == 5 && t[i] == '0') { dp[i + 1][j] = INF; for(int k = 0; k < 6; ++k) { int tmp = dp[i][k]; if(j % 3 != 0 && j % 3 != k % 3) ++tmp; if(j % 2 != 0 && j % 2 != k % 2) ++tmp; dp[i + 1][j] = min(dp[i + 1][j], tmp); } } else dp[i + 1][j] = INF; } } int ans = INF; for(int j = 0; j < 6; ++j) ans = min(ans, dp[n][j]); cout << ans; }

Compilation message (stderr)

lamp.cpp: In function 'int main()':
lamp.cpp:38:23: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   38 |             if(j == 0 && s[i] == t[i] || j == 1 && t[i] == '0' || j == 2 && t[i] == '1' ||
lamp.cpp:38:74: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   38 |             if(j == 0 && s[i] == t[i] || j == 1 && t[i] == '0' || j == 2 && t[i] == '1' ||
      |                                                                   ~~~~~~~^~~~~~~~~~~~~~
lamp.cpp:39:23: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   39 |                j == 3 && s[i] != t[i] || j == 4 && t[i] == '1' || j == 5 && t[i] == '0')
lamp.cpp:39:49: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   39 |                j == 3 && s[i] != t[i] || j == 4 && t[i] == '1' || j == 5 && t[i] == '0')
      |                                          ~~~~~~~^~~~~~~~~~~~~~
lamp.cpp:39:74: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   39 |                j == 3 && s[i] != t[i] || j == 4 && t[i] == '1' || j == 5 && t[i] == '0')
      |                                                                   ~~~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...