본문 바로가기

백트래킹7

[백준][백트래킹][브루트포스] 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.
[백준][브루트포스][구현][백트래킹] 12100 2048 c++구현 목차https://www.acmicpc.net/problem/12100문제 문제 구현 방향 및 아이디어생각보다 어려웠다. 아이디어는 슬라이드를 어떻게 하든 90도 돌리면 결과는 같다는 것이다.따라서 회전하는 횟수에 따라서 슬라이드를 반복하는 재귀를 잘 구현하면 되는 문제였다.  1. 90도 회전 아이디어아래와 같이 하면 90도 회전을 구현할 수있다.void rotate(int board[41][41]) { int temp[41][41] = { 0 }; for (int i = 0; i  2. 슬라이디 아이디어90도 회전할 것이기 때문에 한 방향만 구현해 주면 된다.void slide(int board[41][41]) { int temp[41][41] = { 0 }; for (int i.. 2024. 8. 13.
[백준][브루트포스] 14889 스타트와 링크 c++구현 목차https://www.acmicpc.net/problem/14889문제  문제 구현 방향N/2만큼을 고르는 모든 조합을 구한 뒤에 그 조합에서 2개를 고르는 조합을 통해 가장 작은 차이를 구해주었다.  참고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.tist.. 2024. 8. 7.
[백트래킹][완전탐색] 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