# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
384269 | ijxjdjd | Board (CEOI13_board) | C++17 | 1094 ms | 1260 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define FR(i, N) for (int i = 0; i < int(N); i++)
#define all(x) begin(x), end(x)
using namespace std;
using ll = long long;
vector<int> parse(string s) {
vector<int> res;
res.push_back(1);
for (char c : s) {
if (c == '1') {
res.push_back(0);
}
else if (c == '2') {
res.push_back(1);
}
else if (c == 'U') {
res.pop_back();
}
else if (c == 'L') {
for (int j = res.size()-1; j >= 0; j--) {
if (res[j] != 0) {
res[j] = 0;
for (int k = j+1; k < res.size(); k++) {
res[k] = 1;
}
break;
}
}
}
else if (c == 'R') {
for (int j = res.size()-1; j >= 0; j--) {
if (res[j] == 0) {
res[j] = 1;
for (int k = j+1; k < res.size(); k++) {
res[k] = 0;
}
break;
}
}
}
}
return res;
}
int main() {
cin.tie(0);
cin.sync_with_stdio(0);
string A;
string B;
cin >> A >> B;
vector<int> sA = parse(A);
vector<int> sB = parse(B);
if (sA.size() < sB.size()) {
swap(sA, sB);
}
int d = 0;
while (sA.size() > sB.size()) {
sA.pop_back();
d++;
}
if (sA > sB) {
swap(sA, sB);
}
int res = (int)(1e9);
int diff = 0;
for (int k = 0; k < sA.size(); k++) {
diff *= 2;
diff += sB[k]-sA[k];
// if (diff >= 1000000) {
// break;
// }
res = min((int(sA.size())-k-1)*2+d+diff, res);
}
cout << res << '\n';
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |