본문 바로가기

dfs8

[백준][dfs / bfs] 1260 DFS와 BFS NodeJs구현 목차https://www.acmicpc.net/problem/1260 문제 NodeJs 구현 시 주의할 점아래와 같이 인접리스트를 초기화해야 typeError가 나지 않는다.let vector = Array.from({ length: 10003 }, () => []); || 연산자를 통해 undefined가 뜨지 않도록 막아 준다.for (let i = 0; i  sort안에 정확히 명시 해주어야 오류가 안난다. 출력은 잘되더라도 백준에서는 틀리게 된다..for(let i=1; i a-b);} 코드 구현const input = require("fs") .readFileSync("../test.txt", "utf-8") .trim() .split("\n");let order = input[0].sp.. 2024. 10. 14.
[백준][완전탐색][백트래킹]2529 부등호 c++구현 목차https://www.acmicpc.net/problem/2529문제 문제 구현 방향처음에 makepermutation으로 다 탐색을 할려했었으나 9!^9이라는 말도 안되는 시간에 다시 생각해 보았다.그래서 완전탐색을 이용한 백트래킹을 통해 해결하였다.  간단히 입력 예) 3 를 통해 설명해보면 최대를 구한다했을 때 9를 넣고 탐색한다.  8을 넣고 탐색한다.  7을 넣고 탐색한다. 이므로 차례로 1을 낮추어 본다.8, 7은 이미 썻기 때문에 3을 낮춘 6을 넣는다. 따라서 7 8 9 6이런식으로 백트래킹을 이용해 상태를 복구해 탐색했다. 코드 구현#include #include #include #include #include #include using namespace std;char symbols.. 2024. 7. 1.
[백트래킹][dfs] 1987 알파벳 c++ 구현 목차문제 코드 구현 시 주의점처음에 거리를 인수로 전달하지 않고 전역변수로 해서 틀렸다.그렇게 하면 백트래킹을 했을 때 호출 시점의 값으로 돌아가지 않기때문이다.아래는 잘못된 방식이다.int dx[4] = { 0, 0, 1, -1 };int dy[4] = { 1, -1, 0, 0 };int R, C;char board[22][22] = { 0 };int visit[22][22] = { 0 };int maxd = 1;int d =0;map m;void dfs(int x, int y){ d++; visit[y][x] = d; m[board[y][x]] = 1; for (int i = 0; i = C || ny = R) continue; if (visit[.. 2024. 6. 29.
[백준][dfs] 16234 인구 이동 c++ 구현 목차https://www.acmicpc.net/problem/16234문제 문제 구현 방향종료 조건이 약간 까다로운 문제였다. 그 전 배열과의 비교를 통해 변화가 없을 때 종료 시키면 된다.범위가 작기 때문에 탐색은 dfs를 통해 반복해서 진행해 주어도 시간 초과가 나지 않는다.  코드 구현#include #include #include#include #include using namespace std;int dx[4] = {0, 0, -1, 1};int dy[4] = { 1, -1, 0, 0 };int board[100][100] = { 0 };int ex[100][100] = { 0 };int visit[100][100] = { 0 };vector> v; vector adj[100];int N, L,.. 2024. 5. 11.
728x90