본문 바로가기

알고리즘377

[BOJ / C++] 18301번 : Rats 문제 쥐의 해 설날을 축하하기 위해, 더글라스는 그의 집에 사는 쥐의 수를 세어보기로 했습니다. 쥐는 워낙 잘 숨기 때문에, 그가 모든 쥐를 찾기란 불가능합니다. 그러나 새해 첫 날, 더글라스는 n1마리의 쥐를 잡고 놓아주기 전 그들의 귀에 표식을 남기는 데에 성공했습니다. 새해 둘째 날, 더글라스는 또 n2마리의 쥐를 잡았는데, 그중 n12마리가 첫 날에 이미 표식을 남겼던 쥐라는 걸 발견했습니다. 더글라스는 그의 집에 사는 쥐의 총 수를 추정하기 위해 당신에게 도움을 요청합니다. 통계학 교과서를 뒤져보고, 당신은 아래의 채프만 추정값 N을 사용하기로 제안합니다. N = ⌊(n1 + 1)(n2 + 1)/(n12 + 1) - 1⌋ ⌊x⌋는 x의 내림값, 즉, x 이하의 수 중 x와 가장 가까운 정수를 의.. 2022. 12. 12.
[BOJ / C++] 14652번 : 나는 행복합니다~ 문제 “나는 행복합니다~ 한화라서 행복합니다~” 행복한 이 노래 가사! 그렇다. 욱제는 한화 이글스의 열렬한 팬이다. 욱제는 여름방학을 맞아 치킨과 맥주를 챙겨 야구장을 방문했다! 하지만 이게 웬걸? 치맥에 정신이 팔린 욱제는 그만 자신의 관중석 위치가 담긴 티켓을 잃어버리고 말았다. 욱제가 유일하게 기억하는 것이라고는 자신의 관중석 번호 K뿐이다.당신은 한화 이글스의 감독이다. 열혈 팬 인 욱제의 방문에 깊은 감동을 받은 당신은 욱제가 잃어버린 자리를 찾아주려고 한다. 오늘 경기가 펼쳐지는 잠실구장은 세로 길이가 N, 가로 길이가 M인 N≤M 크기의 관중석을 가지고 있다. 관중석의 왼쪽 위는 (0, 0), 오른쪽 아래는 (N-1, M-1)으로 표시된다. 각 관중석에는 번호가 아래 그림처럼 매겨져있다. .. 2022. 12. 11.
[BOJ / C++] 13301번 : 타일 장식물 문제 대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개의 나선 모양처럼 점점 큰 타일을 붙인 형태였다. 타일 장식물의 일부를 그리면 다음과 같다. 그림에서 타일에 적힌 수는 각 타일의 한 변의 길이를 나타낸다. 타일 장식물을 구성하는 정사각형 타일 한 변의 길이를 안쪽 타일부터 시작하여 차례로 적으면 다음과 같다. 1, 1, 2, 3, 5, 8, ... 지수는 문득 이러한 타일들로 구성되는 큰 직사각형의 둘레가 궁금해졌다. 예를 들어, 처음 다섯개의 타일이 구성하는 직사각형(위에서 빨간색으로 표시한 직사각형)의 둘레는 26이다. 타일의 개수 N(1 ≤ N ≤ 80)이 .. 2022. 12. 9.
[BOJ / C++] 13717번 : 포켓몬 GO 문제 모바일 게임을 즐겨 하는 지우는 Jetpack Joyride 에 금새 질렸고 포켓몬 GO를 시작했다! 이 게임의 재미있는 점은 포켓몬을 진화시킬 수 있다는 것이다. 지우가 Pi 라는 포켓몬을 진화시키기 위해서는 해당 포켓몬의 Ki 개의 사탕이 필요하다. 진화가 된 후에는 2개의 사탕을 돌려받는다. 각 포켓몬은 그들 종의 사탕으로만 진화할 수 있다. 지우는 N종의 포켓몬이 있고 Pi 라는 포켓몬의 사탕은 Mi 개를 가지고 있으며 지우는 진화시킬 수 있는 포켓몬의 총 마리수를 궁금해한다. 또한, 지우는 가장 많이 진화시킬 수 있는 포켓몬이 무엇인지 알고 싶어한다. 만약 그런 포켓몬들이 여러 종이 있다면 도감번호가 가장 작은 포켓몬을 출력한다. 즉, 입력 데이터에서 더 먼저 나타나는 포켓몬을 출력하면 된.. 2022. 12. 7.