はまやんはまやんはまやん

hamayanhamayan's blog

Good Distance [AtCoder Beginner Contest 133 B]

https://atcoder.jp/contests/abc133/tasks/abc133_b

解説

https://atcoder.jp/contests/abc133/submissions/6311855

(i,j)の組は全探索できるので、全探索して、距離が整数となる組を数え上げよう。
ルートの解決が少し厄介であるので、距離^2が平方数であるかを判定しよう。
平方数であれば、距離は整数であるので、答えをインクリメントする。

int N, D, X[10][10];
//---------------------------------------------------------------------------------------------------
void _main() {
	cin >> N >> D;
	rep(i, 0, N) rep(d, 0, D) cin >> X[i][d];

	int ans = 0;
	rep(i, 0, N) rep(j, i + 1, N) {
		int dd = 0;
		rep(d, 0, D) dd += (X[i][d] - X[j][d]) * (X[i][d] - X[j][d]);
		if (isSquare(dd)) ans++;
	}
	cout << ans << endl;
}