BFS
-
1226. [S/W 문제해결 기본] 7일차 - 미로1SWexpertAcademy 2019. 8. 13. 01:51
#include #include #include #include #include #include using namespace std; struct se{ int x,y; se(int x, int y){ this->x = x; this->y = y; } }; int map[17][17]; bool d[17][17]; se start = se(0,0); se endi = se(0,0); int dx[] = {0,0,1,-1}; int dy[] = {1,-1,0,0}; void bfs(int x, int y){ queue q; q.push({x,y}); d[x][y] = true; while(!q.empty()){ x = q.front().first; y = q.front().second; q.pop(); f..
-
미로탐색백준알고리즘 2019. 8. 1. 05:45
#include #include #include #include #include int n, m; int a[101][101]; int d[101][101]; int dx[] = { 0,0,1,-1 }; int dy[] = { 1,-1,0,0 }; using namespace std; void bfs(int x, int y) { queue q; q.push(make_pair(x, y)); int cnt = 1; d[x][y] = cnt; while (!q.empty()) { x = q.front().first; y = q.front().second; q.pop(); for (int i = 0; i ..
-
2117. [모의 SW 역량테스트] 홈 방범 서비스SWexpertAcademy 2019. 7. 28. 05:21
#include #include #include #include #include #include using namespace std; int tc; int n, m; int map[20][20]; int v[22][22]; int dd[22]; int cost[22]; int ans = 0; int dx[] = { 0,0,1,-1 }; int dy[] = { 1,-1,0,0 }; void initial(); void making_secu(int x, int y) { queue q; q.push(make_pair(x, y)); int cnt = map[x][y]; v[x][y] = 1; while (!q.empty()) { x = q.front().first; y = q.front().second; q.p..
-
안전영역백준알고리즘 2019. 7. 20. 03:29
#include #include #include #include using namespace std; int N; int a[100][100]; bool d[100][100]; int dx[] = { 0,0,1,-1 }; int dy[] = { 1,-1,0,0 }; int MAX; void bfs(int x, int y, int h) { queue q; q.push(make_pair(x, y)); d[x][y] = true; while (!q.empty()) { x = q.front().first; y = q.front().second; q.pop(); for (int i = 0; i < 4; i++) { int nx = x + dx[i]; int ny = y + dy[i]; if (nx < N && n..
-
인구 이동백준알고리즘 2019. 7. 17. 23:42
#include #include #include #include #include #include using namespace std; int N, L, R; int a[50][50]; int d[50][50]; bool f[50][50]; int dx[] = { 0,0,1,-1 }; int dy[] = { 1,-1,0,0 }; int alp = 0; int mon(int a, int b) { int x = a - b; int y = b - a; if (x < 0) return y; else return x; } void bfs(int x, int y, int recent ) { vector v; queue q; q.push(make_pair(x, y)); v.push_back(make_pair(x, y)..
-
영역 구하기백준알고리즘 2019. 7. 17. 21:55
#include #include #include #include #include #include using namespace std; int n, m, k; int a[101][101]; bool d[101][101]; vector rect[101]; int dx[] = {0,0,1,-1}; int dy[] = {1,-1,0,0}; void bfs(int xx, int yy, vector& v){ queue q; q.push(make_pair(yy, xx)); d[yy][xx] = true; a[yy][xx] = 1; int result = 1; while(!q.empty()){ int x = q.front().second; int y = q.front().first; q.pop(); for(int i ..
-
보물섬백준알고리즘 2019. 7. 17. 21:54
#include #include #include #include #include #include using namespace std; int n,m; int a[51][51]; bool d[51][51]; int c[51][51]; int dx[] = {0,0,1,-1}; int dy[] = {1,-1,0,0}; void initial(){ for(int i = 0; i = 0 && ny >s; if(s == 'L'){ a[i][j] = 1; land.push_back(make_pair(i,j)); } } } vector v; for(int i = 0; i < land.size(); i++){ int x = land[i].first; int y = land[i].second; bfs(x,y,v); ini..
-
유기농 배추백준알고리즘 2019. 7. 17. 02:25
#include #include #include #include #include using namespace std; int tc; int a[51][51]; bool d[51][51]; int m,n, k; int dx[] = {0,0,1,-1}; int dy[] = {1,-1,0,0}; void bfs(int x, int y){ queue q; q.push(make_pair(x,y)); d[x][y] = true; while(!q.empty()){ x = q.front().first; y = q.front().second; q.pop(); for(int i = 0; i = 0 && nx < n && ny ..