Дорога, соединяющая города i и j, даст единицу в две позиции - (i, j) и (j, i). Тогда общее количество единиц в матрице равно удвоенному числу дорог. Отсюда и простое решение - считать N^2 чисел, подсчитать количество единиц и поделить его на 2. Можно считать и сумму - от этого ничего не изменится.
#include <iostream> int main() { int n = 0, sum = 0, temp = 0; std :: cin >> n; for (int i = 0; i < n * n; i++) { std :: cin >> temp; sum += temp; } std :: cout << sum / 2; return 0; }
// PascalABC.NET 3.0, сборка 1076 var a,b,c,p,s:real; begin Writeln('Введите через пробел стороны треугольника: '); Read(a,b,c); if (a+b>c) and (a+c>b) and (b+c>a) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln('Площадь треугольника равна ',s) end else Writeln('Невозможно построить треугольник') end.
Тестовые решения: Введите через пробел стороны треугольника: 10 15 13.6 Площадь треугольника равна 66.3272183948641
Введите через пробел стороны треугольника: 5 8 20.4 Невозможно построить треугольник