program var s: string; a:array[1..4] of integer; i:integer; begin read(s); for i:=1 to 4 do a[i]:=0;
for i:=0 to length(s) do begin if s[i]=')' then inc(a[1]); if s[i]='(' then inc(a[2]); if s[i]='!' then inc(a[3]); if s[i]='.' then inc(a[4]); end;
if(a[1]>a[2])and(a[1]>a[3])and(a[1]>a[4]) then write('Funny')else if(a[2]>a[1])and(a[2]>a[3])and(a[2]>a[4]) then write('Sad') else if(a[3]>a[2])and(a[3]>a[1])and(a[3]>a[4]) then write('Angry') else if(a[4]>a[2])and(a[4]>a[3])and(a[4]>a[1]) then write('Deep') else write('Unclear');
Дорога, соединяющая города 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
s: string;
a:array[1..4] of integer;
i:integer;
begin
read(s);
for i:=1 to 4 do a[i]:=0;
for i:=0 to length(s) do
begin
if s[i]=')' then inc(a[1]);
if s[i]='(' then inc(a[2]);
if s[i]='!' then inc(a[3]);
if s[i]='.' then inc(a[4]);
end;
if(a[1]>a[2])and(a[1]>a[3])and(a[1]>a[4]) then write('Funny')else
if(a[2]>a[1])and(a[2]>a[3])and(a[2]>a[4]) then write('Sad') else
if(a[3]>a[2])and(a[3]>a[1])and(a[3]>a[4]) then write('Angry') else
if(a[4]>a[2])and(a[4]>a[3])and(a[4]>a[1]) then write('Deep') else
write('Unclear');
end.
#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;
}