[알고리즘] c++ cpp 구슬탈출 시리즈 (구슬탈출4)
포인트 1. bfs를 잘 이해할 수 있는가? 2. 파란색과 빨간색을 동시에 하기 위한 4차원 배열 3. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include #include #include #define endl "\n" #define MAX 10 #define INF 987654321 using namespace std; int n, m; char map[MAX][MAX]; bool visited[MAX][MAX][MAX][MAX]; pair red, blue; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; int findDistance(int x, int y, int xx, int yy) { return..
2020. 10. 9.
[알고리즘] c++ cpp 상어 시리즈(아기상어2)
포인트 1. BFS 를 잘 이해하는가? 2. 8가지 방향으로 bfs 를 도는 방법 입니다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include #include #include using namespace std; int n, m, answer; int map[51][51]; bool visited[51][51]; vector vc; int dx[] = {-1, -1, -1, 0, 0, 1, 1, 1}; // 8방향 int dy[] = {-1, 0, 1, -1, 1, -1, 0, 1}; int bfs(int a, int b) { queue q; q.emplace(a, b, 0); visited[a][b] = true; while (!q.empty()) ..
2020. 10. 7.
[알고리즘] c++ cpp 파이프시리즈 (파이프옮기기1)
포인트 1. bfs를 이해하고 있는가? 2. 대각선 상황을 잘 구현하는 것이 중요한 것 같다. (대각선 상황에 경우 걸치는 값들을 고려하자) 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include using namespace std; queue q;int map[17][17]; int n = 0;int dx[3] = {0, 1, 1}; //3방향으로 지나간다.int dy[3] = {1, 0, 1}; int bfs(int a, int b, int c) { int count = 0; q.push ({ a, b, c }); while (!q.empty()) { int x, y, dir; tie(x, y, dir) = q.front(); q.pop(); if (..
2020. 10. 7.