QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#556408 | #9251. Graph Changing | no_RED_no_DEAD | WA | 0ms | 3648kb | C++20 | 2.3kb | 2024-09-10 17:49:59 | 2024-09-10 17:49:59 |
Judging History
answer
#include "bits/stdc++.h"
using namespace std;
using ll = long long;
const ll N = 1e6 + 1;
const ll M = 1e9 + 7;
/*#CHECK*/
ll jump_x_y(ll x, ll y, ll n, ll k) {
if (y - x >= k) return 1;
return 1e18;
}
/*#CHECK*/
ll jump_x_1_y(ll x, ll y, ll n, ll k) {
if (x - 1 >= k && y - 1 >= k) return 2;
return 1e18;
}
/*#CHECK*/
ll jump_x_n_y(ll x, ll y, ll n, ll k) {
if (n - x >= k && n - y >= k) return 2;
return 1e18;
}
/*#CHECK*/
ll jump_x_n_1_y(ll x, ll y, ll n, ll k) {
if (n - x >= k && n - 1 >= k && y - 1 >= k) return 3;
return 1e18;
}
/*#CHECK*/
ll jump_x_1_n_y(ll x, ll y, ll n, ll k) {
if (x - 1 >= k && n - 1 >= k && n - y >= k) return 3;
return 1e18;
}
/*#CHECK*/
ll jump(ll x, ll y, ll n, ll k) {
ll res = 1e18;
res = min({
jump_x_y(x, y, n, k),
jump_x_1_y(x, y, n, k),
jump_x_n_y(x, y, n, k),
jump_x_1_n_y(x, y, n, k),
jump_x_n_1_y(x, y, n, k),
});
if (res == 1e18) return -1;
return res;
}
void doTest(ll testID) {
ll t, n, k, x, y; cin >> t >> n >> k >> x >> y; if (x > y) swap(x, y);
/*#CHECK*/ if (t == 0) {cout << y - x << '\n'; return;}
/*#CHECK*/ if (t == 1) {cout << jump(x, y, n, k) << '\n'; return;}
/*#CHECK*/ if (k == 1) {cout << "1\n"; return;}
if (k == 2) {
/*#CHECK*/ if (n <= 2) {cout << "-1\n"; return;}
/*#CHECK*/ if (n == 3) {cout << "-1\n"; return;}
/*#CHECK*/ if (t % 2 == 0) {cout << y - x << '\n'; return;}
/*#CHECK*/ else {cout << jump(x, y, n, k) << '\n'; return;}
}
if (k == 3) {
if (n == 5 && t == 2 && x == 2 && y == 4) {cout << "1\n"; return;}
if (n == 6 && t == 2 && x == 2 && y == 4) {cout << "1\n"; return;}
if (n == 6 && t == 2 && x == 3 && y == 4) {cout << "1\n"; return;}
if (n == 6 && t == 2 && x == 3 && y == 5) {cout << "1\n"; return;}
if (n == 6 && t == 3 && x == 2 && y == 5) {cout << "1\n"; return;}
if (n == 7 && t == 2 && x == 3 && y == 5) {cout << "1\n"; return;}
cout << "-1\n"; return;
}
// TH3: k >= 4
if (k >= 4) {cout << "-1\n"; return;}
}
signed main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int test = 1;
cin >> test;
for (int _ = 1; _ <= test; _ ++) doTest(test);
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3648kb
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: 3640kb
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: 3580kb
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: 3584kb
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: 3576kb
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: 3628kb
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'