EduBrick

M. Треугольники

3000 мс · 256 МБ · всё или ничего

Дана матрица смежности простого неориентированного графа. Посчитайте количество треугольников — троек вершин, попарно соединённых рёбрами.

Перебор всех троек стоит O(n3)O(n^3), и при n≤300n \le 300 это проходит с запасом. Полезно понимать и другой способ: число треугольников равно следу третьей степени матрицы, делённому на шесть, — каждый треугольник считается там шесть раз, по разу на каждый обход из каждой вершины.

Формат ввода

Первая строка содержит число nn (1≤n≤3001 \le n \le 300).

Далее идут nn строк по nn чисел — симметричная матрица с нулями на диагонали.

Формат вывода

Одно число — количество треугольников.

Примеры

ввод
3
0 1 1
1 0 1
1 1 0
вывод
1
ввод
3
0 1 0
1 0 0
0 0 0
вывод
0
Войдите, чтобы отправлять решения.