Submission #824160

#TimeUsernameProblemLanguageResultExecution timeMemory
824160Trisanu_DasParametriziran (COCI19_parametriziran)C++17
110 / 110
181 ms3252 KiB
#include <bits/stdc++.h>
using namespace std;
#define N 50000

bitset<N> vis[6][26], a;

int main(){
  ios_base::sync_with_stdio(false); cin.tie(NULL);
  int n, m; cin >> n >> m;
  string s[n];
  for(int i = 0; i < n; i++){
    cin >> s[i];
    for(int j = 0; j < m; j++) {
      if(s[i][j] == '?') for(int k = 0; k < 26; k++) vis[j][k][i] = true;
      else vis[j][s[i][j] - 'a'][i] = true;
    }
  }
  for(int i = 0; i < n; i++) a[i] = true;
  long long ans = 0;
  for(int i = 0; i < n; i++){
    a[i] = false;
    bitset<N> curr = a;
    for(int j = 0; j < m; j++) if(s[i][j] != '?') curr &= vis[j][s[i][j] - 'a'];
    ans += curr.count();
  }
  cout << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...