[AtCoder] エイシング プログラミング コンテスト 2020 C – XYZ Triplets

2020年12月14日

問題

方針

\( 1 \leq x, y, z \leq \sqrt{N} \) の範囲で全探索します。

コード

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
    int N;
    cin >> N;
    int f[10001]{};
    for (int x = 1; x <= 100; x++) {
        for (int y = 1; y <= 100; y++) {
            for (int z = 1; z <= 100; z++) {
                int t = x*x + y*y + z*z + x*y + y*z + z*x;
                if (t > 10001) break;
                f[t]++;
            }
        }
    }
    for (int i = 1; i <= N; i++) {
        cout << f[i] << "\n";
    }
    return 0;
}