QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#716624 | #9251. Graph Changing | qL | WA | 0ms | 3876kb | C++14 | 1.5kb | 2024-11-06 15:41:35 | 2024-11-06 15:41:38 |
Judging History
answer
/*
* @Author: qL
* @Date: 2024-11-06 07:45:57
* @LastEditTime: 2024-11-06 09:14:26
* @Problem:
* @Link:
* @Solution:
*/
#include <cstdio>
#include <algorithm>
#define _(func) __builtin_##func
using i32 = int;
i32 t, n, k, x, y;
signed main() noexcept {
i32 Test;
for (scanf("%d", &Test); Test; --Test) {
scanf("%d%d%d%d%d", &t, &n, &k, &x, &y);
if (x > y) std::swap(x, y);
static auto calc1 = [](i32 x, i32 y) noexcept {
if (1 < x && x <= k && y >= n - k + 1 && x < y && y < x + k) return y + k <= n || k < x || (x + k <= n && k < y) ? 3 : -1;
return std::abs(x - y) >= k ? 1 : (y + k <= n || k < x ? 2 : -1);
};
static auto calc2 = [](i32 x, i32 y) noexcept {
if (calc1(x, y) == -1) return -1;
if (calc1(x, y) != 3) return -1;
return 1;
};
static auto calc3 = [](i32 x, i32 y) noexcept {
if (calc2(x, y) == -1) return -1;
return -1;
};
if (t == 0) {
printf("%d\n", std::abs(x - y));
} else if (k == 1) {
printf("%d\n", 1);
} else if (k >= n) {
puts("-1");
} else if (k + 1 == n) {
if (n == 2) {
puts("1");
} else {
printf("%d\n", x == 1 && y == n && t == 1 ? 1 : -1);
}
} else if (k == 2) {
printf("%d\n", t & 1 ? calc1(x, y) : std::abs(x - y));
} else if (t == 1) {
printf("%d\n", calc1(x, y));
} else if (t == 2) {
printf("%d\n", calc2(x, y));
} else if (t == 3) {
printf("%d\n", calc3(x, y));
} else {
puts("-1");
}
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3756kb
input:
5 1 5 3 2 4 1 10 4 2 4 2 10 5 2 4 1 3 2 1 3 1 3 2 1 2
output:
3 2 -1 1 -1
result:
ok 5 lines
Test #2:
score: 0
Accepted
time: 0ms
memory: 3856kb
input:
30 1 2 1 1 2 1 2 2 1 2 1 2 3 1 2 1 2 4 1 2 1 2 5 1 2 1 2 6 1 2 2 2 1 1 2 2 2 2 1 2 2 2 3 1 2 2 2 4 1 2 2 2 5 1 2 2 2 6 1 2 3 2 1 1 2 3 2 2 1 2 3 2 3 1 2 3 2 4 1 2 3 2 5 1 2 3 2 6 1 2 4 2 1 1 2 4 2 2 1 2 4 2 3 1 2 4 2 4 1 2 4 2 5 1 2 4 2 6 1 2 5 2 1 1 2 5 2 2 1 2 5 2 3 1 2 5 2 4 1 2 5 2 5 1 2 5 2 6 1 2
output:
1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
result:
ok 30 lines
Test #3:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
90 1 3 1 1 2 1 3 1 1 3 1 3 1 2 3 1 3 2 1 2 1 3 2 1 3 1 3 2 2 3 1 3 3 1 2 1 3 3 1 3 1 3 3 2 3 1 3 4 1 2 1 3 4 1 3 1 3 4 2 3 1 3 5 1 2 1 3 5 1 3 1 3 5 2 3 1 3 6 1 2 1 3 6 1 3 1 3 6 2 3 2 3 1 1 2 2 3 1 1 3 2 3 1 2 3 2 3 2 1 2 2 3 2 1 3 2 3 2 2 3 2 3 3 1 2 2 3 3 1 3 2 3 3 2 3 2 3 4 1 2 2 3 4 1 3 2 3 4 2...
output:
1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
result:
ok 90 lines
Test #4:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
180 1 4 1 1 2 1 4 1 1 3 1 4 1 1 4 1 4 1 2 3 1 4 1 2 4 1 4 1 3 4 1 4 2 1 2 1 4 2 1 3 1 4 2 1 4 1 4 2 2 3 1 4 2 2 4 1 4 2 3 4 1 4 3 1 2 1 4 3 1 3 1 4 3 1 4 1 4 3 2 3 1 4 3 2 4 1 4 3 3 4 1 4 4 1 2 1 4 4 1 3 1 4 4 1 4 1 4 4 2 3 1 4 4 2 4 1 4 4 3 4 1 4 5 1 2 1 4 5 1 3 1 4 5 1 4 1 4 5 2 3 1 4 5 2 4 1 4 5 ...
output:
1 1 1 1 1 1 2 1 1 3 1 2 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 2 3 1 2 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 2 1 1 3 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1...
result:
ok 180 lines
Test #5:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
300 1 5 1 1 2 1 5 1 1 3 1 5 1 1 4 1 5 1 1 5 1 5 1 2 3 1 5 1 2 4 1 5 1 2 5 1 5 1 3 4 1 5 1 3 5 1 5 1 4 5 1 5 2 1 2 1 5 2 1 3 1 5 2 1 4 1 5 2 1 5 1 5 2 2 3 1 5 2 2 4 1 5 2 2 5 1 5 2 3 4 1 5 2 3 5 1 5 2 4 5 1 5 3 1 2 1 5 3 1 3 1 5 3 1 4 1 5 3 1 5 1 5 3 2 3 1 5 3 2 4 1 5 3 2 5 1 5 3 3 4 1 5 3 3 5 1 5 3 ...
output:
1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 2 1 2 2 -1 1 1 -1 3 1 -1 -1 2 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 1 2 3 1 2 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok 300 lines
Test #6:
score: -100
Wrong Answer
time: 0ms
memory: 3876kb
input:
450 1 6 1 1 2 1 6 1 1 3 1 6 1 1 4 1 6 1 1 5 1 6 1 1 6 1 6 1 2 3 1 6 1 2 4 1 6 1 2 5 1 6 1 2 6 1 6 1 3 4 1 6 1 3 5 1 6 1 3 6 1 6 1 4 5 1 6 1 4 6 1 6 1 5 6 1 6 2 1 2 1 6 2 1 3 1 6 2 1 4 1 6 2 1 5 1 6 2 1 6 1 6 2 2 3 1 6 2 2 4 1 6 2 2 5 1 6 2 2 6 1 6 2 3 4 1 6 2 3 5 1 6 2 3 6 1 6 2 4 5 1 6 2 4 6 1 6 2 ...
output:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 2 1 2 2 2 1 1 1 2 3 1 1 3 3 1 2 2 2 2 -1 -1 1 1 -1 -1 3 1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 -1 -1 -1 -1 -1 -1 1 -1...
result:
wrong answer 126th lines differ - expected: '2', found: '-1'