본문 바로가기

C++97

[백준][완전탐색] 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.
[백준][비트마스킹] 17471 게리맨더링 c++구현 목차https://www.acmicpc.net/problem/17471문제 코드 구현 방향비트 마스킹을 통해 나누어지는 경우를 모두 구하고 조건을 만족하는지 체크하여 최솟값을 갱신하였다.(영역을 색칠한는 방식으로 하면 코드를 더 간결하게 작성할 수 있었을 것 같다...) 코드 구현#include#include#include#include#include#includeusing namespace std;int N;vector person;vector adj[11];int visit[20] = { 0 };int Gap = 999;vector a;vectorb;//안에 있는지 체크 함수int incheck(int n, vector& c) { for (int i = 0; i q; q.push(start); vi.. 2024. 7. 12.
[백트래킹][완전탐색] 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.
[재귀][분할 정복] 1992 쿼드트리 c++ 구현 목차https://www.acmicpc.net/problem/1992문제 문제 구현 방향구간을 4개로 나누어 재귀만 잘해주면 금방 풀리는 문제이다.또한 기저사례만 잘 만들어 주면 된다.  문제 풀이 시 주의점아래와 같이 그리드를 반으로 나누면 무한 루프에 빠진다.. 주의하자!시작점과 종점의 중간값으로 해야한다.void quad(int startx, int starty, int endx, int endy) { if (check(startx, starty, endx, endy)) { cout   코드 구현#include#include#include#include#includeusing namespace std;int board[65][65] = { 0 };int check(int start.. 2024. 7. 10.
728x90