BOJ 23971번
백준 저지의 BFS 문제 풀이 과정을 공유드린다.
문제 출처
1. 문제설명
- 거리두기 수칙(X칸 만큼 떨어져야 함.)을 준수하면서 최대 몇명이 앉을 수 있는지?
2. 알고리즘 설계
- 정석적인 접근법이 뭔지 모르겠다.
- 본인은 규칙을 유추하였다. 값을 넣어보면서…..
3. 로직
-
첫 번째 접근법(규칙 찾은 거)
int t1 = (H - 1) / (N + 1) + 1; int t2 = (W - 1) / (M + 1) + 1;
-
두 번째 접근법(다른 분 블로그)
- 블로그와 다르게 타입캐스팅이 필요!
t1 = ceil((double)H / (N + 1)); t2 = ceil((double)W / (M + 1));
- 전체 코드
- 참고
- 내림 floor(N);
- 반올림 floor(N + 0.5);