[동빈나]나이트 문제
- 딱히 할 말이 없는 문제.아주 쉬운 문제다.
2차원 좌표평면 문제이다. - L방향 이동은 8가지의 경우를 생각할 수 있다.
각 이동에 대해 row방향, column방향으로의 이동을 list로서 작성해 놓고, 이동을 할 때의 "좌표"가 어디인지를 파악(8x8공간을 벗어나지 않도록)하며 문제를 풀도록 한다.
#include <iostream>
#define _CRT_SECURE_NO_WARNINGS
using namespace std;
// 8가지 경우의 수
int horizon[8] = {2,2,-2,-2,1,1,-1,-1};
int vertical[8] = { 1,-1,1,-1,2,-2,2,-2 };
int main()
{
int r, c,count=0,next_r,next_c; //행,열
char temp_c,temp_r;
scanf("%c%c", &temp_c, &temp_r);
c = temp_c - 'a'; //'a'는 0 -> 판은 0~7이라 가정.
r = temp_r - '1'; // '1'은 0 -> 판은 0~7이라 가정
printf("c: %d, r: %d\n", c, r);
//
for (int i = 0; i < 8; i++)
{
next_r = r + vertical[i];
next_c = c + horizon[i];
if (next_c < 0 || next_c>7 || next_r < 0 || next_r>7) continue;
else {
printf("i : %d\n", i);
count++;
}
}
printf("%d", count);
}
Author And Source
이 문제에 관하여([동빈나]나이트 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ynoolee/동빈나나이트-문제저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)