Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define ll long long
- #define ull unsigned long long int
- #define ld long double
- #define pb push_back
- #define p_b pop_back
- #define si stack<int>
- #define sll stack<ll>
- #define sc stack<char>
- #define vi vector<int>
- #define vll vector<ll>
- #define mii map<int, int>
- #define msi map<string, int>
- #define mci map<char, int>
- #define qc queue<char>
- #define qi queue<int>
- #define qll queue<ll>
- using namespace std;
- int main(){
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- int t;
- cin >> t;
- while(t--){
- int n;
- ld count = 0;
- cin >> n;
- msi r;
- map<char, vector<string>> s;
- for(int i = 0; i < n; i++){
- string f;
- cin >> f;
- s[f[0]].pb(f.substr(1, f.length()-1));
- }
- for(auto i = s.begin(); i != s.end(); i++){
- set<string> m;
- for(auto j = i; j != s.end(); j++){
- for(int p = 0; p < (i->second).size(); p++){
- m.insert((i->second)[p]);
- }
- for(int p = 0; p < (j->second).size(); p++){
- m.insert((j->second)[p]);
- }
- ld tmp = m.size();
- count += (tmp-(i->second).size())*(tmp-(j->second).size());
- }
- }
- cout << fixed << setprecision(0) << count*2 << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement