QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#763957 | #9251. Graph Changing | zhangshiyan | WA | 1ms | 3644kb | C++20 | 2.4kb | 2024-11-19 22:59:49 | 2024-11-19 22:59:49 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define INF 1e18
inline ll read()
{
ll x = 0, f = 1;
char c = getchar();
while(c < '0' || c > '9')
{
if(c == '-')
{
f = -1;
}
c = getchar();
}
while(c >= '0' && c <= '9')
{
x = (x << 1) + (x << 3) + c - '0';
c = getchar();
}
return x * f;
}
ll t, n, k, x, y;
void calc()
{
if(llabs(x - y) >= k)
{
cout << 1 << endl;
}
else if(x - k >= 1 || y + k <= n)
{
cout << 2 << endl;
}
else if(x + k <= n && y - k >= 1)
{
cout << 3 << endl;
}
else
{
cout << -1 << endl;
}
}
void run()
{
t = read(), n = read(), k = read(), x = read(), y = read();
if(x > y)
{
swap(x, y);
}
else if(k == 1)
{
if(t == 0)
{
cout << y - x << endl;
}
else
{
cout << 1 << endl;
}
}
else if(k == 2)
{
if(t == 0)
{
cout << y - x << endl;
}
else if(n <= 3)
{
if(t == 1 && x == 1 && y == 3)
{
cout << 1 << endl;
}
else
{
cout << -1 << endl;
}
}
else if(t & 1)
{
calc();
}
}
else if(k == 3)
{
if(t == 0)
{
cout << y - x << endl;
}
else if(t == 1)
{
calc();
}
else if(t == 2)
{
if(n == 5 && x == 2 && y == 4)
{
cout << 1 << endl;
}
else if(n == 6 && x != 1 && y != 6)
{
if(x == 2 && y == 4)
{
cout << 1 << endl;
}
else if(x == 3 && y == 4)
{
cout << 1 << endl;
}
else if(x == 3 && y == 5)
{
cout << 1 << endl;
}
else if(x == 2 && y == 3)
{
cout << 2 << endl;
}
else if(x == 4 && y == 5)
{
cout << 2 << endl;
}
else if(x == 2 && y == 5)
{
cout << 3 << endl;
}
}
else if(n == 7 && x == 3 && y == 5)
{
cout << 1 << endl;
}
else
{
cout << -1 << endl;
}
}
else if(t == 3)
{
if(n == 6 && x == 2 && y == 5)
{
cout << 1 << endl;
}
else
{
cout << -1 << endl;
}
}
else
{
cout << -1 << endl;
}
}
else
{
if(t == 0)
{
cout << y - x << endl;
}
else if(t == 1)
{
calc();
}
else
{
cout << -1 << endl;
}
}
}
int main()
{
//#ifndef debug
// freopen("graph.in", "r", stdin);
// freopen("graph.out", "w", stdout);
//#endif
ll q = read();
while(q--)
{
run();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3632kb
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: 3616kb
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: 3576kb
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: -100
Wrong Answer
time: 1ms
memory: 3644kb
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 -1 -1 -1 -1 -1 -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 -1 -1 -1 -...
result:
wrong answer 43rd lines differ - expected: '1', found: '-1'