简单的模拟
题意大概是找集合
样例:
inputCopy
3 3
SET
ETS
TSE
outputCopy
1
#include "stdio.h"
#include "cstdio"
#include "iostream"
#include "algorithm"
#include "map"
#include "string.h"
#include "cstring"
using namespace std;
int n, k, m , ans = 0;
struct cnode
{
string s;
}a[2005];
string s, ss;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
map <string, int> p;
cin >> n >> m;
for(int i=1; i<=n; i++)
{
cin >> s;
a[i].s=s;
p[s]++;
}
for(int i=1; i<=n; i++)
for(int j=i+1; j<=n; j++)
{
ss="";
for(int k=0; k<m; k++)
{
if(a[i].s[k]==a[j].s[k])
ss+=a[i].s[k];
else
ss+=(236-a[i].s[k]-a[j].s[k]);
}
if(p.count(ss))
ans++;
}
cout << ans/3 << endl;
}