Дорога, соединяющая города 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; }
Var n,m:integer;b:boolean; function fminmax(k:integer;d:boolean):integer; var a:array[1..30] of integer;j,max,min:integer; begin for j:= 1 to 30 do begin a[j]:= random(100)-50; write(a[j]:4);end; max:= -100;min:=100; if b = true then for j:= 1 to k do begin if max < a[j] then max := a[j];fminmax:=max;end else for j:= n to 30 do begin if min > a[j] then min := a[j]; fminmax:=min;end; end; begin write ('Введите число < 25');Read(n); write ('Определять max(true -да, false- нет)');Read(b); m:= fminmax(n,b); writeln; if b = true then write('max = ',m) else write('min = ',m);end.
я могу только так сказать