문제 링크입니다: www.acmicpc.net/problem/21611
21611번: 마법사 상어와 블리자드
마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, (
www.acmicpc.net
기존 마법사 상어 문제들의 총집합체였습니다.
알고리즘은 아래와 같습니다.
1. 우선, 칸에 순서를 부여해줍니다. (setOrder 메서드)
2. 얼음 파편을 떨어뜨려줍니다. (destroyMarbles 메서드)
3. 빈 칸들을 순서에 맞게 메워줍니다. (moveMarbles 메서드)
4. 같은 색깔끼리 4개 이상 연속된 구슬들을 파괴해주고 기록해줍니다. (destoryConsecutiveMarbles 메서드)
5. 문제에서 주어진대로 그룹화해줍니다. (setMarblesByGroup 메서드)
6. 2 ~ 5번 과정을 M번 반복해줍니다.
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 2959번 거북이 (0) | 2021.05.07 |
---|---|
백준 2953번 나는 요리사다 (0) | 2021.05.05 |
백준 20058번 마법사 상어와 파이어스톰 (2) | 2021.05.03 |
백준 21638번 SMS from MCHS (0) | 2021.05.02 |
BOJ 21633번 Bank Transfer (0) | 2021.05.02 |