最后一个子任务WA求调
查看原帖
最后一个子任务WA求调
1281794
postpone楼主2024/7/7 19:12

不知道哪里爆了,还是取模哪里写错了。

#include <bits/stdc++.h>
using namespace std;
using ll = uint64_t;
#define endl '\n'
#define enter putchar('\n')
const int N = 1e3 + 100;

ll k;
ll res;
const ll p = 1e9 + 7;
ll x0, y00;
ll n, m;
ll dx, dy, x, y;

void solve()
{
    // n = read(), m = read(), k = read(), x0 = read(), y00 = read();
    cin >> n >> m >> k >> x0 >> y00;
    for (ll i = 1; i <= k; i++)
    {
        // x = read(), y = read();
        cin >> x >> y;
        if (x == x0)
        {
            if (y > y00)
                dy = m - y + 1;
            else
                dy = y;
            res = (res + ll((dy % p) * (ll(m % p + n % p - 3 + m % p - dy % p) % p))) % p;
        }
        else if (y == y00)
        {
            if (x > x0)
                dx = n - x + 1;
            else
                dx = x;
            res = (res + ll((dx % p) * (ll(m % p + n % p - 3 + n % p - dx % p) % p))) % p;
        }
        else
        {
            if (x > x0)
                dx = n - x + 1;
            else
                dx = x;
            if (y > y00)
                dy = m - y + 1;
            else
                dy = y;
            res = (res + (dx % p) + (dy % p)) % p;
        }
    }
    cout << res;
}

int main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int _ = 1;
    while (_--)
        solve();
    return 0;
}
2024/7/7 19:12
加载中...