제출 #1133306

#제출 시각아이디문제언어결과실행 시간메모리
1133306vladiliusGenetics (BOI18_genetics)C++20
46 / 100
2092 ms17480 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; #define pb push_back #define ff first #define ss second int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m, k; cin>>n>>m>>k; vector<string> s(n + 1); for (int i = 1; i <= n; i++){ cin>>s[i]; } auto f = [&](int i, int j){ int cnt = 0; for (int x = 0; x < m; x++){ cnt += (s[i][x] != s[j][x]); } return (cnt == k); }; mt19937 rng((int) time(0)); vector<int> p(n + 1); for (int i = 1; i <= n; i++) p[i] = i; shuffle(p.begin() + 1, p.end(), rng); vector<bool> bad(n + 1); for (int i = 1; i <= n; i++){ for (int j = i + 1; j <= n; j++){ if (bad[p[i]] && bad[p[j]]) continue; if (!f(p[i], p[j])){ bad[p[i]] = bad[p[j]] = 1; } } } for (int i = 1; i <= n; i++){ if (!bad[i]){ cout<<i<<"\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...