[C/C++] 나동빈 게임 개발, 구현
문제 크기가 세로 N 가로 M인 지도가 있다. 캐릭터가 현재 바라보는 방향에서 왼쪽부터 차례로 갈 곳을 정한다. 육지면 이동할 수 있고 바다면 이동할 수 없다. 이동할 수 없을 경우 왼쪽 방향으로 90도 돌아 다시 왼쪽부터 이동할 수 있는지 확인한다. 사방이 막혀있는 경우, 바라보는 방향 그대로 한 칸 뒤가 이미 이동한 칸이라면 다시 돌아간다. 그렇지 않으면 이동을 중단한다. 입력시 0=육지, 1=바다이며 캐릭터가 바라보는 방향은 0=북쪽, 1=동쪽, 2=남쪽, 3=서쪽이다. N과 M은 3과 50 사이이다. 코드 #include using namespace std; int map[50][50]; int hr[] = { 0,-1,0,1 }; int hc[] = { -1,0,1,0 }; int br[] = ..
2023. 2. 15.
[C/C++] 나동빈 왕실의 나이트, 구현
문제 체스에서 말이 움직이는 방법은 아래와 같다. - 수직으로 두 칸 이동 후 수평으로 한 칸 이동 - 수평으로 두 칸 이동 후 수직으로 한 칸 이동 체스에서 말의 위치가 입력될 때, 체스판 안에서 움직일 수 있는 경우의 수를 구하시오 코드 #include using namespace std; int dx[] = { 1, 1, -1, -1, 2, 2, -2, -2 }; int dy[] = { 2, -2, 2, -2, 1, -1, 1, -1 }; int main() { string position; cin >> position; int x = position[0] - 96, y = position[1] - 48, cnt = 8; for (int i = 0; i < 8; i++) if ((x + dx[i] ..
2023. 2. 15.