제출 #1339466

#제출 시각아이디문제언어결과실행 시간메모리
1339466vjudge1Parametriziran (COCI19_parametriziran)C++17
0 / 110
110 ms2308 KiB
#include <bits/stdc++.h>

using namespace std;
#define pb push_back
const int MAXN=5e4;

bitset<MAXN> has[6][26];
bitset<MAXN> aux;
bitset<MAXN> correct;
string s1[MAXN];

int main()
{
    int n, m;
    cin>>n>>m;
    long long ans=0;
    for(int i=0; i<n; i++){
        string s;
        cin>>s;
        for(int j=0; j<m; j++){
            if(s[j]!='?')
                s[j]-='a';
            else
                s[j]=26;
            has[j][(int)s[j]][i]=1;
        }
        s1[i]=s;
    }
    aux.set();
    for(int i=0; i<n; i++){
        correct=aux;
        string s=s1[i];
        for(int j=0; j<m; j++)
            if(s[j]!=26)
                correct&=(has[j][(int)s[j]]|has[j][26]);
        ans+=correct.count();
    }
    ans-=n;
    ans/=2;
    cout<<ans<<"\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...