재귀함수 3

[백준/C++] 16457번 단풍잎 이야기

🤔문제 이해 각 퀘스트당 필요한 스킬을 다 사용가능할 때 그 퀘스트를 깰 수 있다. 2n개의 스킬 중 n개만 골랐을 때 최대로 많이 깰 수 있는 퀘스트의 개수를 출력하면 된다. 조건 키의 개수 : n 퀘스트의 개수 : m (1 ~ 100) 퀘스트 당 스킬 수 : k (1 ~ n) 스킬의 번호 ( 1~2n) 🔥풀이🔥 2n개의 스킬 중 배치할 스킬 n개를 골랐을 때 깰 수 있는 퀘스트의 개수 중 가장 큰 값을 출력하게 했다. 변수 - quest[i] : i번째 퀘스트에서 필요한 스킬의 번호를 비트로 표현 재귀함수 void Solve(int i, int d, int cnt) - 현재 상태 : 현재까지 정한 스킬을 비트로 나타내는 i, 몇번째 스킬까지 처리해줬는지를 나타내는 d, 정한 스킬의 개수 cnt - 다..

백준/C++ 2022.08.12

[백준/C++] 2239번 스도쿠

🤔문제 이해 행과 열, 그리고 3x3의 작은 사각형 안에 1~9까지의 수가 중복없이 나오게 보드를 짜는 문제이다. 조건 보드 : 9 x 9 시간 : 2초 메모리 : 256MB 🔥풀이🔥 백트래킹 방식으로 값이 비어있는 부분에 넣을 수 있는 수 중에서 가장 작은 수부터 넣어보면서 처음으로 보드가 숫자로 다 채워질 수 있을 때를 출력하면 된다. 변수 - bool width[i][num] : i번째 행에 num의 존재 유무 - bool length[i][num] : i번째 열에 num의 존재 유무 - bool square[i][num] : i번째 사각형에 num의 존재 유무 - square의 경우 좌표가 (i, j)일 때 (i/3)*2 + (j/3)을 계산한 값이 몇번째 사각형인지 나타낸다. 재귀함수 solve..

백준/C++ 2022.08.11

[백준/C++] 5021번 왕위계승

🤔문제 이해 나라를 세운 사람이 1 왕족이고, 왕족이 아닌 외부 사람은 0왕족이다. 부모의 왕족 점수를 각각 2로 나누어 더한 값이 자식의 왕족 점수가 되고, 왕위를 계승받기를 주장하는 사람들 중 왕족 점수가 가장 높은 사람을 출력하면 되는 문제이다. 💡첫번째 아이디어 예제 입력 9 2 edwardi charlesi edwardi diana philip charlesi mistress wilhelm mary philip matthew wilhelm helen edwardii charlesi laura alice laura charlesi helen alice bernard henrii edwardii roxane charlesii elizabeth henrii charlesii matthew 예제 입력1..

백준/C++ 2022.07.18
728x90