Submission #240591

#TimeUsernameProblemLanguageResultExecution timeMemory
240591dsjongGenetics (BOI18_genetics)C++14
74 / 100
1551 ms53364 KiB
#include <bits/stdc++.h> #pragma GCC optimize ("Ofast") #pragma GCC target("fma,sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native") #pragma GCC optimize("unroll-loops") using namespace std; int n, m, k; string a[5000]; bitset<4105>bs[4105]; bool check(int x){ for(int i=1;i<=n;i++){ if(i==x) continue; int cnt=0; for(int j=0;j<m;j++){ if(a[x][j]!=a[i][j]) cnt++; } if(cnt!=k) return false; } return true; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n>>m>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } if(n<=100){ for(int i=1;i<=n;i++){ if(check(i)){ cout<<i; return 0; } } } for(int i=1;i<=n;i++){ for(int j=0;j<m;j++){ bs[i][j]=(a[i][j]=='A'); assert(a[i][j]=='A' || a[i][j]=='C'); } //cout<<bs[i]<<endl; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i==j) continue; bitset<4105> tmp=(bs[i]^bs[j]); //cout<<i<<" "<<j<<" "<<tmp.count()<<endl; if(tmp.count()!=k) goto hell; } cout<<i; return 0; hell:; } }

Compilation message (stderr)

genetics.cpp: In function 'int main()':
genetics.cpp:48:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(tmp.count()!=k) goto hell;
       ~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...