Code/BOJ

#17406 배열 돌리기 4

milkteagood 2020. 1. 5. 20:38
728x90
반응형

출처:https://www.acmicpc.net/problem/17406

 

17406번: 배열 돌리기 4

크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 값은 4이다. 1 2 3 2 1 1 4 5 6 배열은 회전 연산을 수행할 수 있다. 회전 연산은 세 정수 (r, c, s)로 이루어져 있고, 가장 왼쪽 윗 칸이 (r-s, c-s), 가장 오른쪽 아랫 칸이 (r+s, c+s)인 정사각형을 시계

www.acmicpc.net

 회전 연산의 개수가 k 개 주어지고 모두 한번씩 사용돼야 한다. dfs를 통해 어떤 회전 연산을 적용시킬 지 순서를 정해 준 후 해당 순서에 맞게 회전연산을 적용하는 문제이다. 회전연산은 기존 arr을 copy한 cparr배열을 만든 후 이 cparr에 회전을 적용하였는데 회전을 적용할때 방향 배열을 우, 하, 좌, 상 으로 지정하여 처음 x,y가 회전을 거쳐 다시 원래 x,y로 되돌아오면 회전을 반복문을 종료시키는 방식으로 구현하였다.

 

소스코드

 

728x90
반응형