코드포스(CodeForce)
Educational Codeforces Round 32 - B. Buggy Robot
cepiloth
2018. 8. 17. 18:16
반응형
1. 문제
2. 알고리즘
키워드 - 구현
* 문제 접근
LDUR 명령으로 로봇에 위치가 갱신 된다.
시작위치는 0,0 에서 시작 하고 로봇이 다시 0,0 돌아오는 최적 해를 구하자
left, right, up, down 모든 움직임 변수를 적산 하고
총 이동한 횟수에서
좌우 이동 적산 절대 값 = right - left
상하 이동 적산 절대 값 = up - down
이동 적산 절대 값 = [좌우 이동 적산 절대 값] + [상하 이동 적산 절대 값]
[총 이동한 횟수] - [이동 적산 절대 값] = 해
3. 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include<stdio.h> #include<string.h> #include<stdlib.h> #include<queue> #include<stack> #include<math.h> #include<vector> #include<map> #include<set> #include<stdlib.h> #include<cmath> #include<string> #include<algorithm> #include<iostream> using namespace std; int n, ans, up, down, lft, rght; char c; int main() { cin >> n; for (int i = 0; i<n; i++) { cin >> c; if (c == 'R')rght++; if (c == 'U')up++; if (c == 'L')lft++; if (c == 'D')down++; } int ans = abs(lft - rght) + abs(up - down); cout << n - ans; return 0; } | cs |
반응형