【C++】ABC264 B問題 Nice Grid

未分類

ABC264のB問題 Nice Gridを解説します。

問題のポイント
ゴリ押しで解ける問題でありましたが、チェビシェフ距離(チェス盤距離)という概念を知っているとより早く解けたかな?と考えています。

チェビシェフ距離(チェス盤距離)
1回でチェスのキングが動ける距離のことです。チェス盤距離という名前から簡単に想像できますね。
チェビシェフ距離(チェス盤距離)の測り方は上下方向か左右方向の最大値を取ればよいです。

入力例

3 6

回答例

#include
using namespace std;

int main() {
    int r, c;
    cin >> r >> c;
    r--;    // 0インデックスとする
    c--;

    r -= 7; // 7行目7列目が中心(0, 0)となるようにする
    c -= 7;

    r = abs(r); // 絶対値をとる
    c = abs(c);
    
    int che_dis = max(r, c);    // チェビシェフ距離
    if (che_dis % 2 == 1) cout << "black" << endl;
    else cout << "white" << endl;    
    return 0;
}

コメント