Решение задачи Дальние родственники и торт с Codeforces

Без пояснения   Просмотров: 17


Семья Доров готовится праздновать день рождения Фомы Дора, для этого члены семьи приготовили ему весьма своеобразный торт.

Торт представляет собой квадрат n × n, состоящий из одинаковых квадратиков со стороной 1. Каждый квадрат либо пустой, либо содержит шоколадку. Члены семьи испекли торт и разложили на нём шоколадки. Они думают, что радость Фомы будет равна количеству пар клеток с шоколадками, расположенных в одной строке или в одном столбце. Теперь они пытаются вычислить, чему же будет равно это значение для данного торта.

Обратите внимание, что каждая пара может быть посчитана не более чем один раз, поскольку две различные клетки не могут быть одновременно расположены в одной строке и в одном столбце.

Код

#include <bits/stdc++.h>
using namespace std;
string a[105];
int main() {
    int n, ans = 0;
	cin >> n;
	for(int i = 0; i < n; i++)
		cin >> a[i];
	for(int i = 0; i < n; i++) {
		int cnt = 0;
		for(int j = 0; j < n; j++)
			if(a[i][j] == 'C') cnt++;
		ans += (cnt - 1) * cnt / 2;
		cnt = 0;
		for(int j = 0; j < n; j++)
			if(a[j][i] == 'C') cnt++;
		ans += (cnt - 1) * cnt / 2;
	}
	cout << ans << "\n";
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться