Codeforces Round #612 (Div. 2) B Hyperset

简单的模拟

题意大概是找集合
样例:
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;
}

发布了289 篇原创文章 · 获赞 112 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/king9666/article/details/103916848
今日推荐