brute force combinatorics constructive algorithms implementation *800

Please click on ads to support us..

Python Code:

from math import factorial

n = int(input())

matrix = list()
for i in range(n):
    matrix.append(input())

happiness_count = 0
for i in range(len(matrix)):
    col_chocolate = 0
    for j in range(len(matrix[i])):
        if (matrix[i][j] == 'C'):
            col_chocolate += 1
    happiness_count += col_chocolate * (col_chocolate - 1) / (2 * 1)

for j in range(len(matrix[0])):
    row_chocolate = 0
    for i in range(len(matrix)):
        if (matrix[i][j] == 'C'):
            row_chocolate += 1
    happiness_count += row_chocolate * (row_chocolate - 1) / (2 * 1)
            
print(int(happiness_count))
			    		    		 		   	   						

C++ Code:

#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;
}
/* Thu Feb 09 2023 17:16:59 GMT+0300 (Moscow Standard Time) */


Comments

Submit
0 Comments
More Questions

981A - Antipalindrome
365A - Good Number
1204B - Mislove Has Lost an Array
1409D - Decrease the Sum of Digits
1476E - Pattern Matching
1107A - Digits Sequence Dividing
1348A - Phoenix and Balance
1343B - Balanced Array
1186A - Vus the Cossack and a Contest
1494A - ABC String
1606A - AB Balance
1658C - Shinju and the Lost Permutation
1547C - Pair Programming
550A - Two Substrings
797B - Odd sum
1093A - Dice Rolling
1360B - Honest Coach
1399C - Boats Competition
1609C - Complex Market Analysis
1657E - Star MST
1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins
313A - Ilya and Bank Account
1469A - Regular Bracket Sequence
919C - Seat Arrangements
1634A - Reverse and Concatenate
1619C - Wrong Addition