본문 바로가기

완전탐색6

[백준][완전탐색] 17070 파이프 옮기기 c++구현 목차https://www.acmicpc.net/problem/17070문제 문제 구현 방향 처음에는 dp로 시도했다가 문제를 풀다보니 완전탐색으로 방향성이 바뀌어 버렸다..파이프 옮기기2가 있다는데 그거는 dp로 풀어보아야 겠다.각 끝점에서 이동할 수 있는 좌표를 저장해주고 그거 대로 탐색한 뒤에 원복해서 백트래킹을 해주었다.  문제 구현 시 주의점완전 탐색으로 하면 시간을 더 줄여야 맞을 수 있다. 그래서 나는 좌표가 끝점에 도달했을 때 특정 방향이면재귀가 종료하게끔 더 추가하였다.     코드 구현#include #include #include#include#include #includeusing namespace std;//pipe 구조체typedef struct Pipe { int x; .. 2024. 9. 23.
[백준][백트래킹][브루트포스] 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.
728x90