Priceless
[백준] 1783번: 병든 나이트 (C++) 본문

체스에서 나이트의 움직임을 오른쪽으로만 움직였을 때 입력 받은 체스판에서 최대한의 이동하는 칸의 수를 구하는 문제다
체스판이 작을 때 이동 횟수에 대한 제한 있기 때문에
그 부분에 대해서 하나씩 조건을 걸어야 한다
체스판이 커지면 최대로 갈 수 있는 칸을 세기 위해 계산한다
자세한 계산 수는 코드를 참고한다
// baekjoon 1783
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
// codes for fast I/O
void init(){
cin.tie(0);
cout.tie(0);
ios_base::sync_with_stdio(false);
}
int main(){
init();
int n, m;
cin >> n >> m;
if(n == 1){
cout<< 1;
return 0;
}
else if(n == 2){
cout << min(4, (m - 1) / 2 + 1);
}
else if (m < 7)
cout << min(4, m);
else{
cout << (2 + (m - 5)) + 1;
}
}
'Algorithm & Test > 백준' 카테고리의 다른 글
[백준] 1946번: 신입 사원 (C++) (0) | 2023.08.20 |
---|---|
[백준] 16953번: A → B (C++) (0) | 2023.08.19 |
[백준] 1439번: 뒤집기 (C++) (0) | 2023.08.16 |
[백준] 4796번: 캠핑 (C++) (0) | 2023.08.16 |
[백준] 1427번: 소트인사이드 (C++) (0) | 2023.08.14 |