#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int n,k;
int main(){
ios::sync_with_stdio(0);cin.tie(0);
cin >> n >> k;
unordered_map<string,int> mp;
mp.reserve(n);
vector<string> cards(n);
for(int i = 0 ; i < n ; i++){
cin >> cards[i];
mp[cards[i]] = i;
}
ll cnt = 0;
string tar;
tar.resize(k);
for(int i = 0 ; i < n ; i++){
for(int j = i+1 ; j < n ; j++){
for(int l = 0 ; l < k ; l++){
if(cards[i][l] == cards[j][l]){
tar[l] = cards[i][l];
}
else{
char miss = '1'+'2'+'3' - cards[i][l] - cards[j][l];
tar[l] = miss;
}
}
auto it = mp.find(tar);
if(it != mp.end()){
if(it -> second > j){
cnt++;
}
}
}
}
cout << cnt << '\n';
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |