문제 링크입니다: www.acmicpc.net/problem/21608
단순 구현 문제였습니다.
알고리즘은 아래와 같습니다.
1. 각 학생마다 좋아하는 학생들이 4명이 있으므로 해당 정보를 map 자료구조로 저장합니다. (likeFriends)
2. 입력받은 학생 순서로 자리를 배치하는데 문제에서 주어진 규칙대로 배치를 진행하면 됩니다.
- 비어있는 칸 중에서 좋아하는 학생이 인접한 칸에 가장 많은 칸으로 자리를 정한다.
- 1을 만족하는 칸이 여러 개이면, 인접한 칸 중에서 비어있는 칸이 가장 많은 칸으로 자리를 정한다.
- 2를 만족하는 칸도 여러 개인 경우에는 행의 번호가 가장 작은 칸으로, 그러한 칸도 여러 개이면 열의 번호가 가장 작은 칸으로 자리를 정한다.
3. 만족도를 구해줍니다.
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 21610번 마법사 상어와 비바라기 (1) | 2021.04.29 |
---|---|
백준 21609번 상어 중학교 (1) | 2021.04.28 |
백준 19771번 Сапсан (0) | 2021.04.27 |
C++ 백준 2935번 소음 (0) | 2021.04.26 |
백준 2921번 도미노 (0) | 2021.04.25 |