emluy 개발 일기

C++ - (백준) 20058번 마법사 상어와 파이어스톰 본문

알고리즘/c, c++

C++ - (백준) 20058번 마법사 상어와 파이어스톰

yulme 2021. 1. 4. 01:57
SMALL

0. 문제

www.acmicpc.net/problem/20058

 

20058번: 마법사 상어와 파이어스톰

마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c

www.acmicpc.net

1. 알아야할 것

- 제곱한 값 구하기 : <cmath> 라이브러리의 pow함수 사용 

pow(2,3) -> 8이 됨

 

2. 구현해야할 것

2-1. 격자 시계방향으로 90도 회전

- 90도 회전한 애들 temp에 넣고 다시 원래 map에 넣음

(m,n)->(n,l-m-1)

*그외

- x축 대칭 

(m,n) -> (l-m-1,n)

- y축 대칭

(m,n) -> (m, l-n-1)

- 점대칭 

(m,n) -> (l-n-1,l-m-1)

 

codingdog.tistory.com/entry/배열-회전-알고리즘-읽는-방법만-생각하면-어렵지-않아요

 

배열 회전 알고리즘 : 읽는 방법만 생각하면 어렵지 않아요.

 배열 회전 알고리즘은, 구현 문제에서 심심찮게 보이는 문제 중에 하나입니다. 우리는 n by n 배열을 시계, 그리고 반시계 방향으로 temp array를 쓰고 회전하는 방법을 배워보도록 하겠습니다. 물

codingdog.tistory.com

 

2-2. 각 얼음의 인접한 얼음들 중 0인 얼음이 2개이상있으면 그 얼음의 양 -1

* 주의할 점

-탐색해 나가면서 얼음의양을 바로바로 줄이면 안됨! 다 살펴본 후 얼음 양 줄여줘야함 

-> vector<pair<int,int>> 이용해서 줄여 줄 칸을 저장해 놓고 탐색 끝나고 줄여줌

 

 

 

2-3. 남아 있는 얼음의 합

2-4. 얼음덩어리 중 가장 큰 얼음덩어리

 

풀이 참고

yabmoons.tistory.com/602

 

[ 백준 20058 ] 마법사 상어와 파이어스톰 (C++)

백준의 마법사 상어와 파이어스톰(20058) 문제이다. [ 문제 바로가기 ] [ 문제풀이 ] 문제를 단계별로 나눠서 해당 단계별로 풀이과정을 알아보고, 정답을 도출하는 과정까지 진행해보자. #1. 맵 회

yabmoons.tistory.com

octorbirth.tistory.com/807

 

[BOJ] 백준 20058 마법사 상어와 파이어스톰

출처: https://www.acmicpc.net/problem/20058 #BFS #설계 #시뮬레이션 #완전 탐색 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로

octorbirth.tistory.com

 

 

반응형
Comments