# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
263600 | 2020-08-13T20:02:28 Z | Sorting | 게임판 (CEOI13_board) | C++17 | 1 ms | 768 KB |
#include <bits/stdc++.h> using namespace std; string a, b; string get_path(const string &s){ vector<int> v; int curr = -1; int n = v.size(); for(int i = 0; i < n; ++i){ if(s[i] == '1' || s[i] == '2'){ if(curr != (s[i] - '0')) v.push_back(1); else v.back()++; } else if(s[i] == 'U'){ if(v.size() == 1){ v.pop_back(); curr = -1; } else{ v.pop_back(); curr = 3 - curr; } } else if(s[i] == 'L' || s[i] == 'R'){ int num = (s[i] == 'L') ? 2 : 1; if(curr == num){ v.back()--; if(v.back() == 0){ v.pop_back(); if(v.empty()) v.push_back(1); else v.back()++; } else v.push_back(1); curr = 3 - curr; } else{ int x = v.back(); v.pop_back(); v.back()--; if(v.back() == 0){ v.pop_back(); if(v.empty()) v.push_back(1); else v.back()++; } else v.push_back(1); v.push_back(x); curr = 3 - curr; } } } string ans = ""; for(int i = (int)v.size() - 1; i >= 0; --i){ for(int j = 0; j < v[i]; ++j) ans += curr + '0'; curr = 3 - curr; } return ans; } int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cin >> a >> b; a = get_path(a); b = get_path(b); int x = a.size() + b.size(); int dist = 0, ans = x; bool ok = false; for(int i = 0; i < min(a.size(), b.size()); ++i){ if(a[i] != b[i] && !ok){ ok = true; if(a[i] == '2') swap(a, b); } dist = 2 * dist - 1; if(a[i] == '1') dist++; if(b[i] == '2') dist++; if(dist > 3) break; ans = min(ans, dist + x - 2 * (i + 1)); } cout << ans << "\n"; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 512 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 768 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 768 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 640 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |