Submission #1300271

#TimeUsernameProblemLanguageResultExecution timeMemory
1300271tte0Set (COCI21_set)C++20
40 / 110
1097 ms17704 KiB
// Author: Teoman Ata Korkmaz #include <bits/stdc++.h> #define int int_fast64_t using namespace std; constexpr int N=5.5e5; /////////////////////////////////////////////////////////// int k,n,pw[15]; vector<bool> cnt(N); string s[N]; inline int bit(int x,int b){//0,1,2 return (x/pw[b])%3; } signed main(void){ pw[0]=1;for(int i=1;i<15;i++)pw[i]=pw[i-1]*3; cin>>n>>k; for(int i=0;i<n;i++)cin>>s[i]; for(int i=0;i<n;i++){ int x=0; for(int b=0;b<k;b++){ x+=pw[b]*(s[i][b]-'1'); } cnt[x]=true; } int ans=0; for(int i=0;i<pw[k]-1;i++){ if(!cnt[i])continue; for(int j=i+1;j<pw[k];j++){ if(!cnt[j])continue; int x=0; for(int b=0;b<k;b++){ if(bit(i,b)==bit(j,b)){ x+=pw[b]*bit(i,b); } else{ x+=pw[b]*(3-bit(i,b)-bit(j,b)); } } if(x!=i && x!=j && cnt[x])ans++; } } cout<<ans/3<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...