#include <bits/stdc++.h>
using namespace std;
#define int long long
const int modulo = 1e9+7;
const int INF = 1e15;
int32_t main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n,k;
cin >> n >> k;
vector<bool> present(pow(3ll,k));
auto convert = [&](vector<int> x){
int p = 1;
int ans = 0;
for(int&i:x){
ans+=p*i;
p*=3ll;
}
return ans;
};
vector seqs(n,vector<int>(k));
for(auto&i:seqs){
for(int&j:i){
char x;
cin >> x;
j = x-'1';
}
present[convert(i)]=true;
}
vector<vector<int>> table = {
{0,2,1},
{2,1,0},
{1,0,2},
};
int ans = 0;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
vector<int> shouldbe(k);
for(int l=0;l<k;l++)shouldbe[l]=table[seqs[i][l]][seqs[j][l]];
if(present[convert(shouldbe)])ans++;
}
}
cout << ans/3ll << '\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... |