Submission #643229

# Submission time Handle Problem Language Result Execution time Memory
643229 2022-09-21T14:47:25 Z fatemetmhr Spiral (BOI16_spiral) C++17
0 / 100
0 ms 212 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

#define pb       push_back
#define all(x)   x.begin(), x.end()
#define fi       first
#define se       second

const int maxn5 = 1e5 + 10;
const int inf   = 1e9;
const int mod   = 1e9 + 7;


inline ll get(ll x, ll y){
    if(x == 0 && y == 0)
        return 1;
    if(x >= 0 && y < 0){
        if(x == -y)
            return (2 * x + 1) * (2 * x + 1);
        if(x < -y)
            return get(-y, y) - (-y - x);
        return get(x - 1, x - 1) + 1 + x + y;
    }
    if(x < 0 && y <= 0){
        if(x == y)
            return get(-x, y) + 2 * x;
        if(x < y)
            return get(x, x) - (-x + y);
        return get(y, y) + (-y + x);
    }
    if(x <= 0 && y > 0){
        if(-x == y)
            return get(x, x) + 2 * x;
        if(-x > y)
            return get(x, -x) + (-x - y);
        return get(-y, y) - (y + x);
    }
    if(x > 0 && y >= 0){
        if(x == y)
            return get(-x, x) - 2 * x;
        if(x < y)
            return get(y, y) + y - x;
        return get(x, x) - (x - y);
    }
    cout << "WTF " << endl;
    return -1;
}

int main()
{
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);

    ll n, q; cin >> n >> q;
    while(q--){
        ll x, y; cin >> x >> y >> x >> y;
        cout << get(x, y) % mod << '\n';
    }
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -