[백준 16918] 봄버맨
문제 https://www.acmicpc.net/problem/16918 1)문제분류-시뮬레이션 2)문제해결 - 일반 구현 문제- time[][]을 따로 줘서 폭탄을 놓은 시간을 저장하고 1초가 흐를때마다 전체맵을 돌며 1초씩 감소 시킨다.- 맵을 탐색하며, 해당 초에 빈공간에 폭탄을 놓거나, time[][]에 저장해놓은 폭탄 시간을 보고 4방향으로 폭탄을 터뜨린다. #include#include#includeusing namespace std; char map[202][202];int time[202][202];int xrr[4] = { 0,0,1,-1 };int yrr[4] = { 1,-1,0,0 };int R, C, N;int main(){cin >> R >> C>>N;for (int i = 0; ..
[백준 16957]체스판 위의 공
문제 https://www.acmicpc.net/problem/16957 1)문제분류-우선 순위 큐-구현 2)문제해결- 공은 낮은 방향으로만 흘러가기때문에, 우선순위 큐에 숫자 내림차순으로 담아 큐를 돌린다.- 큐에서 꺼낸 데이터는 8방향 중 작은 위치로 이동 시키고 result[][] 배열에 공의 개수를 쌓는다.- result[공의 최종위치]에 result[현재위치]에 쌓아진 공을 더해준다. #include#includeusing namespace std;int xrr[8] = { -1,-1,-1,0,0,1,1,1};int yrr[8] = {-1,0,1,-1,1,-1,0,1};int map[502][502];int result[502][502];int R, C;priority_queuepq;bool r..
[백준 16955]오목, 이길 수 있을까?
문제 :https://www.acmicpc.net/problem/16955 1)문제분류-구현 2)문제 해결 -구사과가 X이므로 맵에서 X의 위치에서 가로, 세로, 대각선 방향을 모두 탐색한다. -탐색 하는데, X를 놓을 공간인 .가 하나 존재하고, X가 4개 이상이라면 구사과가 승리! #includeusing namespace std;int xrr[8] = { -1,-1,-1,0,0,1,1,1};int yrr[8] = {-1,0,1,-1,1,-1,0,1};char map[502][502];int search(int x, int y){//cout
[백준 16956]늑대와 양
문제:https://www.acmicpc.net/problem/16956 1)문제분류-구현 2)문제 해결- 주의해야할점은 설치해야하는 울타리의 최소의 값이 아니다.!!- 그래서 양과 늑대가 만나지 않게 울타리만 설치하면 된다. - 즉, 양과 늑대가 인접해있다면 울타리를 설치할 수 없기때문에 0을 출력해야하는 것이고- 양과 늑대가 모두 인접해있지 않다면,1을 출력하고 그 사이에 울타리를 모두 설치하면 된다! //5시.#includeusing namespace std;int xrr[4] = { 0,0,1,-1 };int yrr[4] = { 1,-1,0,0 };char map[502][502];int r, c;int search(int x, int y){for (int i = 0; i < 4; i++){int..
[백준 3109]빵집
문제:https://www.acmicpc.net/problem/3109 1)문제분류-DFS-백트레킹-그리디 2)문제해결-각 (0~R,0)에서 dfs를 돌면서, 마지막 열 (0,C-1)만날때 +1을 한다.- dfs에서 빵집을 연결하든 안하든,탐색한 chk[][]를 false로 안바꾸는 이유는- 어차피 그 다음 탐색 시에 그 chk[][] 지점으로 가도 결과는 같기때문에 또 다시 두번 갈 필요가 없다! //12시 50분 ~1시 20분#includeusing namespace std;char map[10002][502];bool chk[10002][502];int R, C;int xrr[3] = { -1,0,1 }; int yrr[3] = { 1,1,1 };int dfs(int x,int y){if (y ==..