본문 바로가기

완전탐색8

BOJ 1182 부분수열의 합 문제링크 : https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 요약 무작위의 n의 크기의 수열이 주어질때 그 수열의 숫자로 만들수 있는 부분집합의 합이 입력받은 s가 되는 경우의 수를 구하는 문제 풀이 n의 크기가 20이므로 부분집합의 최대크기는 2^20이 되므로 완전탐색을 사용하여도 된다. 재귀함수를 이용하여 모든 부분집합의 경우의 수를 확인하고 s가 되는 경우의 수를 세주었다. 코드 #include usin.. 2022. 3. 9.
BOJ 1018 체스판 다시 칠하기 문제링크 : https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 요약 무작위로 검정색이나 하얀색으로 칠해져있는 MxN크기의 보드를잘라서 8x8 체스판으로 만드는데 색깔을 다시 칠해야하는 횟수를 최소로하려고할때 그 최소횟수를 구하는 문제 풀이 문제에도 주어져있지만 체스판은 두종류가 있다. 첫시작이 검정인것, 하양인것 두종류의 체스판과 비교해서 주어진 보드에서 색깔을 바꿔야하는 것을 다 체크 해둔다음에 8x8로 만들수있는 모든 경우의 수중 체크.. 2022. 3. 9.
BOJ 2503 숫자야구 문제링크 : https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 요약 우리가 알고있는 숫자야구게임을 한다. (숫자는 1~9까지, 중복안됨) 제시한 숫자와 스트라크, 볼의 갯수를 n만큼 입력받으면 이것에서 유추할수있는 숫자의 개수를 구하는 문제이다. 풀이 123~987까지의 모든 값에 대응하는 배열을 만들고 질문 하나하나 돌면서 조건에 어긋나는 수들을 패스하고 모두 성립하는 수를 만나면 카운트해준다. 코드 #include #include using .. 2022. 3. 9.
BOJ 10448 유레카 이론 문제링크 : https://www.acmicpc.net/problem/10448 10448번: 유레카 이론 프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어 www.acmicpc.net 요약 Tn = n(n+1)/2 로 이루어진 수열이 있다 이 수열의 숫자 세개를 이용해서 입력되는 숫자를 만들수 있다면 1, 만들지 못한다면 0을 출력하라.(숫자는 중복되도 됨) 풀이 만들어야 하는 숫자의 범위가 3> k; for (int i = 1; i 2022. 3. 9.