[삼성기출] 백준 - C++ 상어 초등학교
BFS와 시뮬레이션 문제이다. 풀이 - 1. Solution 코드 #include const int MAX_N = 20; const int EMPTY = 0; const int MAX_LIKE_FRIENDS = 4; const int dx[] = { 1, -1, 0, 0 }; const int dy[] = { 0, 0, 1, -1 }; const int score[] = { 0, 1, 10, 100, 1000 }; struct Students { int ID; int likeFriends[4]; }students[MAX_N * MAX_N]; struct Node { int x, y; // map[][] 좌표 int emptyCnt; // 근접한 빈 칸 개수 int likeFriendsCnt; // 근접한..
2021. 10. 17.
[삼성기출] 백준 - C++ 마법사 상어와 비바라기
구현과 시뮬레이션 문제이다. 삼성기출인 '마법사 상어와 블리자드'를 해결했다면, 간단하게 해결할 수 있다. https://code-block.tistory.com/10 (마법사 상어와 블리자드) 풀이 1. 구름 이동 dx[] = {0, 0, -1, -1, -1, 0, 1, 1, 1}, dy[] = {0, -1, -1, 0, 1, 1, 1, 0, -1} 을 이용하여 '상하좌우 + 대각선'을 표현한다. 구름을 이동하고, map의 물 양을 증가한다. visited를 true 로 바꾼다. 2. 대각선 방향의 물 복사 3. 새로운 구름 생성 vector preList를 선언하여, 새로운 구름이 생성되기 전의 vector cloud를 저장한다. preList의 벡터를 반복하며, visited를 false로 바꿔준다..
2021. 10. 16.