본문 바로가기
728x90

Algorithm/완전탐색(BruteForce)55

17471 게리맨더링 https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net (풀이) 문제의 조건 1. 각 구역은 두 선거구중 하나에 포함되어야 한다. 2. 각 구역은 모두 연결되어 있어야 한다. 3. 두 구역으로 나누었을때 두 구역의 인구차의 최소값을 구하라. 문제의 첫 번째 조건을 만들기 위해 백트래킹을 이용한 조합을 사용하였다. divide_zone(int cnt, int idx, int limit) check_choice[]의 T구역은 true, F구역은 false로 구분, 두 선거구중.. 2020. 7. 27.
16988 Baaaaaaaaaduk2 (Easy) https://www.acmicpc.net/problem/16988 16988번: Baaaaaaaaaduk2 (Easy) 서기 2116년, 인간은 더 이상 AI의 상대가 되지 못하게 되었다. 근력, 순발력, 창의력, 사고력, 문제해결능력, 심지어 인간미조차 AI가 인간을 앞선다. AI가 온 지구를 관리하며 이미 인류는 지구의 www.acmicpc.net (풀이) 이 문제는 빈 칸에 자신의 돌을 2개 두고 상대방의 돌을 최대 몇개 잡을 수 있는지 묻는 문제이다. 자신의 돌을 2개 선택 하는 경우의 수를 먼저 찾아준다. (빈 칸의 갯수) Combination 2 조합을 이용하여 모든 경우의 수를 다 찾아준다. 그리고 해당 각 경우의 수 마다 흰색돌을 DFS 또는 BFS로 순회하여 빈칸이 존재하는지 여부를 파.. 2020. 7. 25.
15686 치킨배달 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net (풀이) 문제의 조건에 치킨집 M의 수는 13개 보다작거나 같다. 폐업 시키지않은 치킨집 수를 최대 M개 고려했을때 치킨 거리가 가장 최소가 될때의 최소값을 찾는문제. 치킨집을 폐업 시키는 제한이 없다. 따라서 1개를 폐업시키든 2개를 폐업시키든 폐업시키지 않든 폐업 시키지 않은경우에도 최소거리를 찾을 수 있다. 도시 치킨 거리를 가장 최소로 하기 위해서 각 치킨집에서 집들과.. 2020. 7. 25.
17136 색종이 붙이기 https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크�� www.acmicpc.net 문제 풀이의 접근은 다음과 같이 진행하였다. 각 색종이의 size(1~5)를 5장씩 사용해보며 종이의 1의 갯수가 모두 사라지면 다 붙였다고 판단하고 그때 붙인 색종이의 갯수가 최소값을 구하여 출력하였다. 먼저 문제의 조건에서 1. 종이가 0인 부분이 붙이면 안된다. 2. 덮어쓰기가 불가능하다. 3. 붙이려는 색종이가 10x10의 종이 사이즈를 초과하면 안된다. 조건 1을 검사하기 위.. 2020. 7. 19.
1062 가르침 https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net (풀이) 글자 K개를 가르쳤을떄 N개의 단어들 중에 읽을 수 있는 최대의 갯수를 출력하는 문제. 문제만 보면 난이도가 왜 골드인지 모르는데. 시간복잡도를 구하다보면 시간초과가 나는 부분이 생긴다. 1)글자 K개를 가르치는 부분의 시간복잡도를 구해보면 모든 알파벳은 26개이고, 이 26개 단어 하나 두개 사용하여 체크하면 2^26 = 약6710만 갯수이고 2) 읽을 수 있는 단어인지 검사를하.. 2020. 7. 6.
15683 감시 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net 감시 성공분류 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 512 MB 17939 7959 4606 40.603% 문제 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. CCTV는 감시.. 2020. 7. 5.
16943 숫자 재배치 https://www.acmicpc.net/problem/16943 16943번: 숫자 재배치 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작거나 같으면서, 가장 큰 값을 구해보� www.acmicpc.net 숫자 재배치 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 512 MB 619 296 218 45.228% 문제 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작거나 같으면서, 가장 큰 값을 구해보자. C는 0으로 시작하면 안 된다. 입력 첫째 줄에 .. 2020. 7. 2.
16938 캠프 준비 캠프 준비 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 512 MB 570 381 306 67.699% 문제 알고리즘 캠프를 열려면 많은 준비가 필요하다. 그 중 가장 중요한 것은 문제이다. 오늘은 백준이를 도와 알고리즘 캠프에 사용할 문제를 고르려고 한다. 백준이는 문제를 N개 가지고 있고, 모든 문제의 난이도를 정수로 수치화했다. i번째 문제의 난이도는 Ai이다. 캠프에 사용할 문제는 두 문제 이상이어야 한다. 문제가 너무 어려우면 학생들이 멘붕에 빠지고, 문제가 너무 쉬우면 학생들이 실망에 빠지게 된다. 따라서, 문제 난이도의 합은 L보다 크거나 같고, R보다 작거나 같아야 한다. 또, 다양한 문제를 경험해보기 위해 가장 어려운 문제와 가장 쉬운 문제의 난이도 차이는 X보다 크거나 같아야 .. 2020. 7. 2.
16937 두 스티커 두 스티커 Silver V 난이도 제공: solved.ac 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 512 MB 1072 367 262 35.262% 문제 크기가 H×W인 모눈종이와 스티커 N개가 있다. i번째 스티커의 크기는 Ri×Ci이다. 모눈종이는 크기가 1×1인 칸으로 나누어져 있으며, 간격 1을 두고 선이 그어져 있다. 오늘은 모눈종이에 스티커 2개를 붙이려고 한다. 스티커의 변은 격자의 선과 일치하게 붙여야 하고, 두 스티커가 서로 겹치면 안 된다. 단, 스티커가 접하는 것은 가능하다. 스티커를 90도 회전시키는 것은 가능하다. 스티커가 모눈종이를 벗어나는 것은 불가능하다. 두 스티커가 붙여진 넓이의 최댓값을 구해보자. 입력 첫째 줄에 모눈종이의 크기 H, W, 둘째 줄에 스티커의.. 2020. 7. 1.
16936 나3곱2 https://www.acmicpc.net/problem/16936 16936번: 나3곱2 나3곱2 게임은 정수 하나를 이용한다. 가장 먼저, 정수 x로 시작하고, 연산을 N-1번 적용한다. 적용할 수 있는 연산은 두 가지 있고, 아래와 같다. 나3: x를 3으로 나눈다. x는 3으로 나누어 떨어져야 www.acmicpc.net 나3곱2 스페셜 저지 Gold V 난이도 제공: solved.ac 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 512 MB 870 350 273 38.944% 문제 나3곱2 게임은 정수 하나를 이용한다. 가장 먼저, 정수 x로 시작하고, 연산을 N-1번 적용한다. 적용할 수 있는 연산은 두 가지 있고, 아래와 같다. 나3: x를 3으로 나눈다. x는 3으로 나누어 떨어져.. 2020. 7. 1.
728x90