Дорога, соединяющая города 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; }
#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;
}
1080
Объяснение:
Разберём 2 варианта.
1) когда буквы Р и Г постоянны, буква Н не используется, а остальные 3 буквы используются произвольно.
Получаем, что у буквы Р есть 5 вариантов постановки, у буквы Г - 4 варианта, и есть 3 места по 3 буквы.
Перемножаем: 5*4*3*3*3=540 вариантов.
2) когда буквы Р и Г постоянны, буква Н используется, а остальные 3 буквы используются произвольно.
Получаем, что у буквы Р есть 5 вариантов постановки, у буквы Г - 4 варианта, у буквы Н - 3 варианта и есть 2 места по 3 буквы.
Перемножаем: 5*4*3*3*3=540 вариантов.
Чтобы получить ответ, складываем оба варианта, получаем 540+540=1080 кодов