A - Garden Editorial by TumoiYorozu


この解説は、C++ に入門したばかりの中高生レベルを想定して、考察の方法、コードの書き方の解説をします。

問題の考察

道の位置はどこにあっても、道を除く畑の面積は変わらない。 よって、道が畑のすみにある場合を考える。

この時、道を除く畑の面積は縦 \(A-1\) ヤード、横 \(B-1\) ヤードの1つの長方形で表すことができる。

よって、この面積は \((A-1)\times(B-1)\) 平方ヤードである。

実際のコード例

C++ では掛け算は * 記号を使うので、 (A-1)*(B-1) と書くと良い。

コード例 (実際の提出のリンクはこちら)

#include <bits/stdc++.h>
using namespace std;
int main(){
    // int 型の変数(箱)を2つ作る
    int A, B;

    // cin で入力を受け取ることができる。「>>」で区切ること(<<ではない)
    cin >> A >> B;

    // 求める答えは (A-1)×(B-1) である。掛け算は C++ では * 記号を使う。
    // answer という変数(箱)を用意して、これに計算結果を入れる
    int answer = (A-1)*(B-1);

    // cout を使うと答えを出力することが出来る。「<<」で区切ること(>>ではない)
    // endl で改行する。
    cout << answer << endl;
}

また、以下のように書くこともできます。

コード例 (実際の提出のリンクはこちら)

#include <bits/stdc++.h>
using namespace std;
int main(){
    int A, B;

    cin >> A >> B;

    // この様に、直接計算結果を cout で出力することも出来る
    cout << (A-1)*(B-1) << endl;
}

posted:
last update: