티스토리 뷰
출저 : https://www.acmicpc.net/problem/8911
"시뮬레이션"
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int T; static int d,x,y; static int[] dx = {0,1,0,-1}; static int[] dy = {1,0,-1,0}; static int maxX,minX,maxY,minY; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); T = Integer.parseInt(br.readLine()); while(T-- > 0) { char[] cmd = br.readLine().toCharArray(); d = x = y = 0; maxX = maxY = minX = minY = 0; int size = cmd.length; for (int i = 0; i < size; i++) { switch(cmd[i]) { case 'F': x += dx[d]; y += dy[d]; update(); break; case 'B': x -= dx[d]; y -= dy[d]; update(); break; case 'L': d = d - 1 == -1 ? 3 : d - 1; break; case 'R': d = d + 1 == 4 ? 0 : d + 1; break; } } System.out.println(Math.abs(maxX - minX) * Math.abs(maxY - minY)); } } static void update() { maxX = Math.max(maxX, x); minX = Math.min(minX, x); maxY = Math.max(maxY, y); minY = Math.min(minY, y); } } | cs |
'Study > 알고리즘 문제풀이' 카테고리의 다른 글
백준 2839. 설탕 배달 :: 돼지개발자 (0) | 2018.12.05 |
---|---|
백준 15649. N과 M(1) :: 돼지개발자 (0) | 2018.12.04 |
백준 6987. 월드컵 :: 돼지개발자 (0) | 2018.12.03 |
백준 7576. 토마토 :: 돼지개발자 (0) | 2018.12.03 |
백준 1697. 숨바꼭질 :: 돼지개발자 (0) | 2018.12.03 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday