BFS를 돌려서 푸는 문제다 성을 넣지말고 반대로 모래를 넣으면 쉽게 풀 수 있다 모래를 기준으로 8방향을 보면서 성이 있다면 1씩 감소시켜준다 만약 성의 견고함이 0이 된다면 모래로 바꾸고 큐에 넣어주면 된다 풀긴 풀었는데 시간이 좀 너무 오래걸렸다.. 왜지..! 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 #include using namespace std; #define ll long long int arr[1010][1010]; int dx[8]={-1,-1,-1,0,..
BFS를 이용해서 풀 수 있다 가로->세로 or 세로->가로 이렇게만 이동이 가능하다! 처음에 4방향 그대로 모두 check해줬더니 시간초과가 났다 근데 가로로 온다면 왼쪽에서 오든, 오른쪽에서 오든 똑같다 세로도 마찬가지다! 결국 가로 / 세로 나눠서 2방향으로 보면 시간안에 통과가 가능하다! 그렇게 하기 위해서는 하나는 0 하나는1로 생각하면 된다 4방향을 나누기 2만하면 0,1로 표현가능 하므로 그것만 바꿔주면 된다! 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 #..