백준/구현 2

[백준] C++ 14503번 (로봇 청소기)

로봇 청소기를 이용해서 청소가 되어있지 않은 칸을 청소하는 문제이다.이 문제에서 주의할 점은 벽으로는 이동을 못하는 점과 현재 칸의 주변 4칸 중 청소가 되지 않은 빈칸이 있을 경우에는 바로 90도로 회전한다는 것이다. 이 두 점만 주의하면 문제를 해결하기는 어렵지 않다. (1은 벽을 의미한다. 청소를 하였다고 그곳을 1로 바꾸어서는 안 된다.) 아 그리고 주변 칸이 모두 청소가 되어있다면 바라보는 방향을 보고 *후진*을 한다. 문제해결방법1.현재 위치가 청소가 되어있는지 안되어있는지 확인하고 청소가 되어있지 않다면 청소를 한다.2. 주변에 청소할 곳이 있는지 확인한다.  청소할 곳이 있다면 먼저 90도 회전을 시키고 방향을 조절한다.주변에 청소할 곳이 없다면 바라보는 방향으로 후진을 한다. 만약 벽이나..

백준/구현 2024.10.09

[백준] C++ 15686번 (치킨 배달)

치킨 거리의 합을 가장 작게 만드는 문제이다. 치킨집이 10개 있고 치킨집을 최대 M개 고를 수 있다고 할 때 10 C M 조합의 모든 경우에 따른 거리의 합을 살펴보면 된다. 문제해결방법1.우선 초기의 도시 상태를 입력받는다. 입력 받을 때 만약 치킨집이 있다면 vector에 치킨집의 좌표를 push한다.2. 치킨 집의 가능한 모든 조합에 대해 도시의 치킨 거리를 구한다.(최솟값을 저장한다.)  #include #include using namespace std;int arr[51][51];vector > V;int N=0;int M=0;int result=987654321;void DFS(int count, int pre);int main(void){ cin>>N>>M; for(int i=1; i>..

백준/구현 2024.10.09