たなしょのメモ

日々勉強していることをつらつらと

B - One Clue

はじめに

たなしょです。

今回はサクッと解けました!

問題文

https://atcoder.jp/contests/abc137/tasks/abc137_b

考え方

黒で塗られた石は座標から連続して存在するので、座標だけは必ず1つ石が塗らていると考えると、そこから黒で塗られた石の数-1(以降Cとする)を実施し、最小値は 座標-C、最大値は 座標+C としてループで出力すると回答が得られる。(必ず座標は通る)

いざ実装

#include <iostream>
#include <vector>
#include <utility>
#include <algorithm>
#include <cstdlib>

typedef long long ll;

using namespace std;

int main() {
    int A, B, ans;

    cin >> A >> B;

    ans = A - 1;

    for (int i = B - ans; i <= B + ans; i++) {
        cout << i;
        cout << " ";
    }

    cout << endl;

    return 0;
}

最後に

パズル感覚で解けるのがAtCoderの魅力ですね!

最後まで読んでいただいてありがとうございました。 もしよろしければtwitterアカウント(@piklus100yen)もフォローしていただけると幸いです!