backtracking
-
구슬탈출2백준알고리즘 2019. 8. 6. 00:54
#include using namespace std; int h, w; int map[10][10]; struct ball { int x, y; bool in = true; }; ball r; ball b; int ans = 11; void go(int dir, int cnt, int rx, int ry, int bx, int by) {//1은 아래로 2는 위로 3은 오른쪽으로 4는 왼쪽으루 if (ans bx) { if (map[rx + 1][ry] == 3) { map[rx][ry] = 0; rin = false; mr = true; } if (map[rx + 1][ry] == 0) { map[rx][ry] = 0; rx += 1; map[rx][ry] = 1; mr = true; } if (map[..
-
알파벳백준알고리즘 2019. 7. 31. 01:27
#include using namespace std; int r, c; int map[20][20]; bool d[20][20]; bool a[27]; int dx[] = { 0,0,1,-1 }; int dy[] = { 1,-1,0,0 }; int ans; void go(int x, int y, int cnt) { if (cnt > 26) return; if (x == r && y == c) { ans = cnt > ans ? cnt : ans; return; } else { if (a[map[x][y]] == true) { ans = cnt > ans ? cnt : ans; return; } a[map[x][y]] = true; d[x][y] = true; for (int i = 0; i < 4; i+..