Submission #1324335

#TimeUsernameProblemLanguageResultExecution timeMemory
1324335benjaminshihSet (COCI21_set)C++20
40 / 110
1097 ms54656 KiB
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int n,k;
int main(){
    ios::sync_with_stdio(0);cin.tie(0);
    cin >> n >> k;
    unordered_map<string,int> mp;
    mp.reserve(n);
    vector<string> cards(n);
    for(int i = 0 ; i < n ; i++){
        cin >> cards[i];
        mp[cards[i]] = i;
    }
    ll cnt = 0;
    string tar;
    tar.resize(k);
    for(int i = 0 ; i < n ; i++){
        for(int j = i+1 ; j < n ; j++){

            for(int l = 0 ; l < k ; l++){
                if(cards[i][l] == cards[j][l]){
                    tar[l] = cards[i][l];
                }
                else{
                    char miss = '1'+'2'+'3' - cards[i][l] - cards[j][l];
                    tar[l] = miss;
                }
            }
            auto it = mp.find(tar);
            if(it != mp.end()){
                if(it -> second > j){
                    cnt++;
                }
            }
        }
    }
    cout << cnt << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...