본문 바로가기

완전탐색5

[백준][백트래킹][브루트포스] 15683 감시 c++구현 목차 https://www.acmicpc.net/problem/15683문제 문제 구현 방향 CCTV의 최대 개수는 8개를 넘지 않는다. 이 부분이 핵심 포인트였다... 문제를 제대로 읽지 않고 완전 탐색 불가능한거 아니야? 하면서 그리디로 돌아갔다가 한참 헤맸다 ㅜ 문제는 꼼꼼히 읽어야 된다.  문제 아이디어그냥 백트래킹 잘 해주면 풀린다. 아이디어는 복구를 하기 위한 좌표를 저장해 놓고 저장해 놓은 좌표를 바탕으로 복구하면 된다.  코드 구현#include #include #include#include#include using namespace std;//cctv 구조체typedef struct CCTV { int num; int x; int y;}CCTV;//상 하 좌 우int dx.. 2024. 9. 19.
[비트마스킹][완전 탐색] 14391 종이 조각 c++구현 목차https://www.acmicpc.net/problem/14391문제  문제 풀이 시 아이디어1. 종이 자르기이 문제는 종이 자르는 것을 코드로 구현하는 것이 매우 까다로워 아이디어가 필요한 문제였다.0: 가로 1: 세로 라고 방향을 정해놓고 비트마스킹을 통해 모든 0과 1의 조합을 구해서 탐색하면 된다.1001001111000010 이렇게 방향을 정하면 자르는 것이 매우 수월하다. 2. 인덱스 구하기: %연산자와 /연산자를 통해 아래와 같이 수 하나를 이차원 배열의 인덱스로 나눌 수 있다.그 이후 비트마스킹을 통해 모든 경우를 구하자 for (int i = 0; i   코드 구현#include#include#includeusing namespace std;int N, M;int board[8][8.. 2024. 7. 20.
[백준][완전탐색] 1062 가르침 c++ 구현 목차https://www.acmicpc.net/problem/1062문제  문제 구현 방향조합을 이용해 모든 경우의 수를 구해서 풀었다. 조합을 구하는 방법은 아래를 참고하자 참고https://be-senior-developer.tistory.com/49 [알고리즘] 순열과 조합 c++ 구현목차 c++로 순열과 조합을 어떻게 구현하는지에 대해 알아보자 stl로 구현한 순열 #include #include #include using namespace std; int main() { vector v; v.push_back(1); v.push_back(2); v.push_back(3); sort(v.begin(), v.end()); //be-senior-developer.tistory.com   코드 구현#i.. 2024. 7. 14.
[백트래킹][완전탐색] 15684 사다리 조작 c++구현 목차https://www.acmicpc.net/problem/15684문제  문제 구현 방향가로축과 세로축의 범위를 생각하면 300C3정도로 완전탐색 가능한 범위이다.또한 문제의 조건을 보면 정답이 3보다 크면 -1을 출력하라는 것을 보아 백트래킹으로 가지치기를 하면 된다.  문제 풀이인덱스 그대로 생각해 주면 된다. 오히려 복잡하게 생각할 필요가 없다.visit[][]이라는 이차원 배열을 만든 뒤 사다리 조건에 맞추어 사다리를 추가해 주고 조건 체크를 해주면 된다.  코드 구현#include#include#include#include#includeusing namespace std;int N, M, H;int visit[32][32] = { 0 };int minN = 999;//사다리가 제자리로 가는지.. 2024. 7. 11.
728x90