nablekim94   4년 전

제출 결과 : 틀렸습니다. (1퍼센트도 안오르고 바로 '틀렸습니다' 입니다.)


이 문제를 풀기 위해 생각한 아이디어는 다음과 같습니다.

  1. 연산자들의 순서, 즉 순열을 구한다.
    1. 회전 연산 정보를 저장하기 위해 vector<CAL> calList를 이용했습니다.
    2. 인덱스 값을 담는 order[]를 만들고 next_permutation을 통해 순열을 생성했습니다. 
  2. 구한 순열대로 회전 연산을 수행한다.
    1. order 배열의 값 순서를 회전 연산 사용 순서로 사용했습니다.
    2. 시계방향으로의 회전은 사각형 기준 상,좌,하,우 순서로 큐에 배열 원소값을 임시로 저장한 후, 회전했을 때 자리할 위치에 다시 넣어줬습니다.
  3. 회전 연산 결과, 배열 A의 값(같은 행에 있는 원소들의 최소합) 구하기
    1. 이중 for문써서 각 행에 있는 원소들의 합 구해서 vector에 넣기
    2. vector를 오름차순 정렬해서 vector의 0번째 원소값을 최소값 후보로 정했습니다.
  4. 이전까지 구했던 배열 A의 최소값과 3번에서 구한 최소값 비교 후 갱신


혹시 제가 놓친 부분이나 잘못 생각한 부분이 있다면 말씀해주세요!!

감사합니다!!

ha_ram   4년 전

배열이 바뀐상태로 연산을 진행하는것 같습니다.=

연산 순서를 바꾼 후에 연산을 할 때

원래 배열에서 진행해야합니다.

nablekim94   4년 전

답변 감사합니다. 해결했어요~~

댓글을 작성하려면 로그인해야 합니다.