Submission #1218702

#TimeUsernameProblemLanguageResultExecution timeMemory
1218702MalixGenetics (BOI18_genetics)C++20
46 / 100
2095 ms27860 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; typedef vector<pi> pii; typedef tuple<int,int,int> ti; typedef vector<ll> li; typedef vector<li> lii; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define LSOne(s) ((s)&(-s)) #define all(x) x.begin(),x.end() ll INF=1000000000000000010; int inf=1e9+10; ll M=1e9+7; int n,m,k; vector<pair<string,int>> a; vector<pair<bitset<4100>,int>> b,c,d,e; int main() { ios::sync_with_stdio(0); cin.tie(0); cin>>n>>m>>k; a.resize(n);b.resize(n);c.resize(n);d.resize(n);e.resize(n); REP(i,0,n)cin>>a[i].F; REP(i,0,n)a[i].S=i; sort(all(a)); REP(i,0,n){ string s=a[i].F; REP(j,0,m)if(s[j]=='A')b[i].F[j]=1; REP(j,0,m)if(s[j]=='C')c[i].F[j]=1; REP(j,0,m)if(s[j]=='T')d[i].F[j]=1; REP(j,0,m)if(s[j]=='G')e[i].F[j]=1; b[i].S=a[i].S;c[i].S=d[i].S;b[i].S=a[i].S;e[i].S=a[i].S; } REP(i,0,n){ bool flag=1; REP(j,0,n)if(i!=j){ bitset<4100> X; int cnt=0; X=b[i].F^b[j].F; cnt+=X.count(); X=c[i].F^c[j].F; cnt+=X.count(); X=d[i].F^d[j].F; cnt+=X.count(); X=e[i].F^e[j].F; cnt+=X.count(); cnt/=2; if(cnt!=k){ flag=0; break; } } if(flag){ cout<<b[i].S+1; return 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...