Submission #1215497

#TimeUsernameProblemLanguageResultExecution timeMemory
1215497boclobanchatGenetics (BOI18_genetics)C++20
46 / 100
2095 ms4680 KiB
#include<bits/stdc++.h> using namespace std; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); int Rand(int l,int r) { return uniform_int_distribution<int>(l,r)(rng); } const int MAXN=4114; bitset<MAXN> bt[MAXN][2]; bool ck[MAXN]; int per[MAXN]; int get(int x,int y) { return ((bt[x][0]^bt[y][0])|(bt[x][1]^bt[y][1])).count(); } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,m,k; cin>>n>>m>>k; int cnt=n; for(int i=1;i<=n;i++) { string s; cin>>s; for(int j=0;j<m;j++) { if(s[j]=='A'||s[j]=='C') bt[i][0][j]=1; if(s[j]=='A'||s[j]=='G') bt[i][1][j]=1; } } for(int i=1;i<=n;i++) per[i]=i; for(int i=1;i<=n*2;i++) swap(per[Rand(1,n)],per[Rand(1,n)]); for(int i=1;i<=n;i++) { bool ck=true; for(int j=1;j<=n&&ck;j++) if(i!=j&&get(per[i],per[j])!=k) ck=false; if(ck) return cout<<per[i],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...