목록백준12100 (1)
선택과 집중
백준 12100번(2048 (Easy)) c++ 풀이
https://www.acmicpc.net/problem/12100 최대 5번 이동해서 만들 수 있는 가장 큰 블록의 값을 구해야한다. 움직일 수 있는 방향은 상하좌우 4가지.4^5 = 1024니까 그냥 돌리면 될 것 같다. d 방향으로 움직이는 것은, d 방향으로 블럭 모두 밀기 -> 합쳐지는 블럭 합치기 -> d 방향으로 다시 밀기 한 방향으로 미는 것은 간단하다.. 블럭을 모두 큐에 넣었다가 빈 보드에 끝에서부터 한 칸씩 넣는다.합치는 것은, 인접한 칸과 비교하면 된다. 상하좌우 각 방향마다 구현이 조금씩 차이가 나기 때문에 그냥 함수를 방향별로 다 쪼갰다. (복붙..)뭔가 더 아름다운 코드가 생각났지만.. 지금은 귀찮다... 다음 depth 방문 후 보드 복구하는 것 잊지말기.. 아래는 나의 쓸..
알고리즘, 코딩테스트
2025. 3. 19. 04:24