QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#387944 | #3168. Letter Wheels | ohiostatescarlet# | TL | 0ms | 3648kb | C++17 | 1018b | 2024-04-13 06:32:31 | 2024-04-13 06:32:31 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define L long long
#ifdef LOCAL
#define dbg(x) cerr << '[' << #x << " = " << (x) << "]\n";
#else
#define dbg(x)
#endif
// g++ -std=c++17 -O2 -DLOCAL -o a a.cpp
int main() {
cin.tie(0)->sync_with_stdio(0);
string a, b, c;
cin >> a >> b >> c;
int n = a.size();
int best = INT_MAX;
for (int t = 0; t < 3; t++) {
for (int i = -(n+1)/2; i <= (n+1)/2; i++) {
for (int j = ((i < 0) ? 0 : -(n+1)/2); j <= ((i > 0) ? 0 : (n+1)/2); j++) {
bool succ = true;
for (int k = 0; k < n; k++) {
if (a[k] == b[(k+i+n)%n] || a[k] == c[(k+j+n)%n] || b[(k+i+n)%n] == c[(k+j+n)%n]) {
succ = false;
break;
}
}
if (succ) {
best = min(best, abs(i) + abs(j));
}
}
}
swap(a,b);
swap(b,c);
}
if (best == INT_MAX) best = -1;
cout << best << '\n';
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3644kb
input:
ABC ABC ABC
output:
2
result:
ok single line: '2'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
ABBBAAAA BBBCCCBB CCCCAAAC
output:
3
result:
ok single line: '3'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
AABB BBCC ACAC
output:
-1
result:
ok single line: '-1'
Test #4:
score: -100
Time Limit Exceeded
input:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...