はじめに
たなしょです。
今回はサクッと解けました!
問題文
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)もフォローしていただけると幸いです!