본문 바로가기
728x90

삼성SW기출2

[C++] 백준 14503번: 로봇 청소기(삼성SW기출) https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 조건 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하기 현재 방향을 기준으로 왼쪽 방향부터 차례대로 인접 칸 탐색 청소하지 않은 칸 발견까지 왼쪽 회전 청소하지 않은 칸 발견하면 해당 방향으로 1칸 전진 모든 방향이 모두 청소 되었다면 바라보는 방향 유지하며 한칸 후진 모든 방향 모두 청소 되어있고 뒤쪽방향이 벽이라면 동작 종료 이미 청소되어 있는 칸을 또 청소하지 않음(재방문x) 입력.. 2021. 10. 24.
[C++] 백준 14502번: 연구소(삼성SW기출) https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 조건분석 N(행) x M(열) 직사각형 지도 0:빈칸, 1:벽, 2:바이러스 바이러스는 상하좌우로 퍼져나감 새로 벽 3개를 세울 수 있음 입력:N M (2~8) 빈칸, 벽, 바이러스의 위치 출력:얻을 수 있는 안전 영역의 최대 크기 문제풀이 백트레킹 방법에 착안하여 3개의 벽을 세울 수 있는 모든 경우를 완전탐색형식으로 진행하고 각각에 대해 BFS 그래프 탐색을 통해 바이러스의 전파를 진행시켜 줍니다. 이후 .. 2021. 9. 6.
728x90