Submission #776998

# Submission time Handle Problem Language Result Execution time Memory
776998 2023-07-08T13:13:51 Z NK_ Board (CEOI13_board) C++17
30 / 100
2 ms 1296 KB
// Success consists of going from failure to failure without loss of enthusiasm
#include <bits/stdc++.h>

using namespace std;

#define nl '\n'
#define sz(x) int(x.size())

using str = string;

template<class T> using V = vector<T>;

struct node {
	int d, x;
};

const int INF = 1e9 + 10;
int main() {
	cin.tie(0)->sync_with_stdio(0);
		
	str A, B; cin >> A >> B;

	V<int> PA, PB;
	auto get = [&](const str& S) {
		node x{0, 0};
		V<int> P;
		for(auto& c : S) {
			if (isdigit(c)) {
				int v = c - '0' - 1;
				x.d++, x.x = (2 * x.x) + v;
			}
			if (c == 'U') x.d--, x.x /= 2;
			if (c == 'L') x.x--;
			if (c == 'R') x.x++;
			// cout << x.d << " " << x.x << endl;
		}

		while(x.d > 0) {
			P.push_back(x.x);
			x.d--, x.x /= 2;
		}

		reverse(begin(P), end(P));
		// cout << endl;
		return P;
	};

	PA = get(A), PB = get(B);

	int ans = INF;
	for(int i = 0; i < min(sz(PA), sz(PB)); i++) {
		int upa = sz(PA) - 1 - i, upb = sz(PB) - 1 - i;
		ans = min(ans, upa + upb + abs(PA[i] - PB[i]));
	}

	cout << ans << nl;

    return 0;
}


# Verdict Execution time Memory Grader output
1 Correct 0 ms 328 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 680 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 2 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1296 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1296 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1296 KB Output isn't correct
2 Halted 0 ms 0 KB -