QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#387944#3168. Letter Wheelsohiostatescarlet#TL 0ms3648kbC++171018b2024-04-13 06:32:312024-04-13 06:32:31

Judging History

你现在查看的是最新测评结果

  • [2024-04-13 06:32:31]
  • 评测
  • 测评结果:TL
  • 用时:0ms
  • 内存:3648kb
  • [2024-04-13 06:32:31]
  • 提交

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...

output:


result: