목록Algorithm (154)
cgy12306
// https://www.acmicpc.net/problem/2583 // 영역 구하기 #include #include #include #include int Y, X, K, map[101][101], cnt = 0; bool visited[101][101]; using namespace std; int dx[] = { 0,0,-1,1 }; int dy[] = { -1,1,0,0 }; vector area; void bfs(int x, int y) { visited[y][x] = true; queue que; que.push(make_pair(x, y)); int acnt = 0; while (!que.empty()){ x = que.front().first; y = que.front().second;..
// https://www.acmicpc.net/problem/2667 // 단지번호붙이기 #include #include #include #include using namespace std; int map[27][27], N, cnt = 0, tcnt = 0; bool visited[27][27]; vector town; int dx[] = { 0,0,-1,1 }; int dy[] = { -1,1,0,0 }; void bfs(int x, int y) { queue que; que.push(make_pair(x, y)); while (!que.empty()) { int x = que.front().first; int y = que.front().second; map[y][x] = 0; que.pop();..
// https://www.acmicpc.net/problem/2178 // 미로 탐색 #include #include #include using namespace std; int N, M, map[102][102], movement[102][102]; bool visited[102][102]; int dx[] = { 0,0,-1,1 }; int dy[] = { 1,-1,0,0 }; void bfs() { queue que; que.push(make_pair(1, 1)); while (!que.empty()) { int x = que.front().first; int y = que.front().second; que.pop(); for (int i = 0; i < 4; i++){ int a..
// https://www.acmicpc.net/problem/7569 // 토마토 #include #include #include #include using namespace std; int M, N, H, map[101][101][101], day[101][101][101], res = 0; bool visited[101][101][101]; int dx[] = { 0,0,-1,1 }; int dy[] = { 1,-1,0,0 }; int dz[] = { 1, -1 }; void bfs() { queue que; for (int h = 0; h < H; h++) { for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { if (map[h][i][j] ..
// https://www.acmicpc.net/problem/7576 // 토마토 #include #include #include using namespace std; int map[1001][1001]; bool visited[1001][1001]; int day[1001][1001]; int dx[] = { 0,0,-1,1 }; int dy[] = { 1,-1,0,0 }; int M, N, res = 0; void bfs() { queue que; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { if (map[i][j] == 1) { que.push(make_pair(i, j)); } } } while (!que.empty()) { int ..
// https://www.acmicpc.net/problem/17219 // 비밀번호 찾기 #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N, M; string id, pw; map account; cin >> N >> M; for (int i = 0; i > id >> pw; account[id] = pw; } for (int i = 0; i > site; cout
// https://www.acmicpc.net/problem/17626 // Four Squares #include #include using namespace std; int dp[50001] = { 0, }; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; for (int i = 1; i
// https://www.acmicpc.net/problem/1012 // 유기농 배추 #include #include using namespace std; bool map[51][51]; int T, M, N, K, X, Y, cnt = 0; int dx[] = { 0,0,-1,1 }; int dy[] = { 1,-1,0,0 }; void dfs(int x, int y) { map[x][y] = false; for (int i = 0; i = M || tmpy >= N) continue; if (!map[tmpx][tmpy]) continue..