This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define SIZE(x) (int)x.size()
#define ALL(x) x.begin(), x.end()
typedef long long ll;
typedef vector <int> vi;
typedef pair <int, int> ii;
int main() {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
map <char, int> m = {{'A', 0}, {'C', 1}, {'G', 2}, {'T', 3}};
int N, M, K;
cin >> N >> M >> K;
vector <string> S(N);
vector <vi> count(4, vi(M, 0));
for (int i=0; i<N; i++) {
cin >> S[i];
for (int j=0; j<M; j++) {
int k = m[S[i][j]];
count[k][j]++;
}
}
int ans = -1;
for (int i=0; i<N; i++) {
ll diff = 0;
for (int j=0; j<M; j++) {
int k = m[S[i][j]];
diff += N - count[k][j];
}
if (diff != (N-1)*K) continue;
bool flag = false;
for (int j=0; j<N; j++) {
if (i == j) continue;
diff = 0;
for (int k=0; k<M; k++) {
diff += (S[i][k] != S[j][k]);
}
if (diff != K) {
flag = true;
break;
}
}
if (!flag) {
ans = i+1;
break;
}
}
cout << ans << '\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |