#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
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')
| ~~~~~~~^~~~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
1 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
1 ms |
364 KB |
Output is correct |
7 |
Correct |
1 ms |
364 KB |
Output is correct |
8 |
Correct |
1 ms |
384 KB |
Output is correct |
9 |
Correct |
1 ms |
364 KB |
Output is correct |
10 |
Correct |
1 ms |
396 KB |
Output is correct |
11 |
Correct |
1 ms |
364 KB |
Output is correct |
12 |
Correct |
1 ms |
364 KB |
Output is correct |
13 |
Incorrect |
1 ms |
364 KB |
Output isn't correct |
14 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
1 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
1 ms |
364 KB |
Output is correct |
7 |
Correct |
1 ms |
364 KB |
Output is correct |
8 |
Correct |
1 ms |
384 KB |
Output is correct |
9 |
Correct |
1 ms |
364 KB |
Output is correct |
10 |
Correct |
1 ms |
396 KB |
Output is correct |
11 |
Correct |
1 ms |
364 KB |
Output is correct |
12 |
Correct |
1 ms |
364 KB |
Output is correct |
13 |
Incorrect |
1 ms |
364 KB |
Output isn't correct |
14 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
1 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
1 ms |
364 KB |
Output is correct |
7 |
Correct |
72 ms |
27836 KB |
Output is correct |
8 |
Correct |
72 ms |
27836 KB |
Output is correct |
9 |
Correct |
71 ms |
27836 KB |
Output is correct |
10 |
Correct |
71 ms |
27836 KB |
Output is correct |
11 |
Correct |
73 ms |
27836 KB |
Output is correct |
12 |
Correct |
70 ms |
27836 KB |
Output is correct |
13 |
Correct |
72 ms |
27836 KB |
Output is correct |
14 |
Correct |
72 ms |
27836 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
1 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
1 ms |
364 KB |
Output is correct |
7 |
Correct |
1 ms |
364 KB |
Output is correct |
8 |
Correct |
1 ms |
384 KB |
Output is correct |
9 |
Correct |
1 ms |
364 KB |
Output is correct |
10 |
Correct |
1 ms |
396 KB |
Output is correct |
11 |
Correct |
1 ms |
364 KB |
Output is correct |
12 |
Correct |
1 ms |
364 KB |
Output is correct |
13 |
Incorrect |
1 ms |
364 KB |
Output isn't correct |
14 |
Halted |
0 ms |
0 KB |
- |