# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
961292 |
2024-04-11T19:45:34 Z |
mgch |
Genetics (BOI18_genetics) |
C++14 |
|
2000 ms |
12124 KB |
#include <bits/stdc++.h>
using namespace std;
const int N = 4107, L = 26, K = 66, MOD = 1000000007;
char s[N][N];
int main() {
// freopen("input.txt", "r", stdin);
// ios::sync_with_stdio(false); cin.tie(0);
int n, m, k;
scanf("%d%d%d\n", &n, &m, &k);
vector <int> ord(n), rnk(n, 0);
iota(ord.begin(), ord.end(), 0);
for (int i = 0; i < n; ++i) {
scanf("%s\n", s[i]);
}
auto diff = [&](int x, int y) {
int ans = 0;
for (int i = 0; i < m; ++i) {
ans += s[x][i] != s[y][i];
}
return ans;
};
for (int it = 0; it < K; ++it) {
for (int i = 0; i + 1 < (int)ord.size(); ++i) {
if (diff(ord[i], ord[i + 1]) != k) {
++i;
continue;
}
rnk[ord[i]] += 1;
rnk[ord[i + 1]] += 1;
}
sort(ord.begin(), ord.end(), [&](int x, int y) { return rnk[x] > rnk[y]; });
while (ord.size() > 1 && rnk[ord.back()] == 0) ord.pop_back();
random_shuffle(ord.begin(), ord.end());
}
sort(ord.begin(), ord.end(), [&](int x, int y) { return rnk[x] > rnk[y]; });
for (int j = 0; j < (int)ord.size(); ++j) {
int x = ord[j];
bool ok = true;
for (int i = 0; i < n && ok; ++i) {
if (i == x) continue;
if (diff(x, i) != k) ok = false;
}
if (ok) { cout << x + 1 << '\n'; break; }
}
return 0;
}
Compilation message
genetics.cpp: In function 'int main()':
genetics.cpp:13:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
13 | scanf("%d%d%d\n", &n, &m, &k);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
genetics.cpp:17:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
17 | scanf("%s\n", s[i]);
| ~~~~~^~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2652 KB |
Output is correct |
2 |
Correct |
1 ms |
2652 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
1 ms |
2492 KB |
Output is correct |
5 |
Correct |
1 ms |
2676 KB |
Output is correct |
6 |
Correct |
2 ms |
2652 KB |
Output is correct |
7 |
Correct |
1 ms |
2496 KB |
Output is correct |
8 |
Correct |
0 ms |
348 KB |
Output is correct |
9 |
Correct |
1 ms |
2652 KB |
Output is correct |
10 |
Correct |
3 ms |
2648 KB |
Output is correct |
11 |
Correct |
1 ms |
2652 KB |
Output is correct |
12 |
Correct |
2 ms |
2652 KB |
Output is correct |
13 |
Correct |
1 ms |
2652 KB |
Output is correct |
14 |
Correct |
1 ms |
2652 KB |
Output is correct |
15 |
Correct |
1 ms |
2652 KB |
Output is correct |
16 |
Correct |
1 ms |
2652 KB |
Output is correct |
17 |
Correct |
0 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1624 ms |
9324 KB |
Output is correct |
2 |
Correct |
1808 ms |
11984 KB |
Output is correct |
3 |
Correct |
428 ms |
11844 KB |
Output is correct |
4 |
Correct |
64 ms |
7404 KB |
Output is correct |
5 |
Correct |
1413 ms |
12124 KB |
Output is correct |
6 |
Correct |
525 ms |
12104 KB |
Output is correct |
7 |
Correct |
209 ms |
5980 KB |
Output is correct |
8 |
Correct |
420 ms |
6048 KB |
Output is correct |
9 |
Correct |
304 ms |
11868 KB |
Output is correct |
10 |
Execution timed out |
2029 ms |
11600 KB |
Time limit exceeded |
11 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1624 ms |
9324 KB |
Output is correct |
2 |
Correct |
1808 ms |
11984 KB |
Output is correct |
3 |
Correct |
428 ms |
11844 KB |
Output is correct |
4 |
Correct |
64 ms |
7404 KB |
Output is correct |
5 |
Correct |
1413 ms |
12124 KB |
Output is correct |
6 |
Correct |
525 ms |
12104 KB |
Output is correct |
7 |
Correct |
209 ms |
5980 KB |
Output is correct |
8 |
Correct |
420 ms |
6048 KB |
Output is correct |
9 |
Correct |
304 ms |
11868 KB |
Output is correct |
10 |
Execution timed out |
2029 ms |
11600 KB |
Time limit exceeded |
11 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2652 KB |
Output is correct |
2 |
Correct |
1 ms |
2652 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
1 ms |
2492 KB |
Output is correct |
5 |
Correct |
1 ms |
2676 KB |
Output is correct |
6 |
Correct |
2 ms |
2652 KB |
Output is correct |
7 |
Correct |
1 ms |
2496 KB |
Output is correct |
8 |
Correct |
0 ms |
348 KB |
Output is correct |
9 |
Correct |
1 ms |
2652 KB |
Output is correct |
10 |
Correct |
3 ms |
2648 KB |
Output is correct |
11 |
Correct |
1 ms |
2652 KB |
Output is correct |
12 |
Correct |
2 ms |
2652 KB |
Output is correct |
13 |
Correct |
1 ms |
2652 KB |
Output is correct |
14 |
Correct |
1 ms |
2652 KB |
Output is correct |
15 |
Correct |
1 ms |
2652 KB |
Output is correct |
16 |
Correct |
1 ms |
2652 KB |
Output is correct |
17 |
Correct |
0 ms |
348 KB |
Output is correct |
18 |
Correct |
1624 ms |
9324 KB |
Output is correct |
19 |
Correct |
1808 ms |
11984 KB |
Output is correct |
20 |
Correct |
428 ms |
11844 KB |
Output is correct |
21 |
Correct |
64 ms |
7404 KB |
Output is correct |
22 |
Correct |
1413 ms |
12124 KB |
Output is correct |
23 |
Correct |
525 ms |
12104 KB |
Output is correct |
24 |
Correct |
209 ms |
5980 KB |
Output is correct |
25 |
Correct |
420 ms |
6048 KB |
Output is correct |
26 |
Correct |
304 ms |
11868 KB |
Output is correct |
27 |
Execution timed out |
2029 ms |
11600 KB |
Time limit exceeded |
28 |
Halted |
0 ms |
0 KB |
- |