2019牛客国庆集训派对day1 F-4 Buttons

题目链接:https://ac.nowcoder.com/acm/contest/1099/F

解题心得:以 ( 0 , 0 ) (0,0) (0,0)为原点将整个图划分成四个象限,如果单单看一个象限(不包含坐标轴)很容易找到规律,可以直接将四个象限的数量找到然后再计算在坐标轴上的点就行了。



#include 
using namespace std;
typedef long long ll;
const ll maxn = 2e4+100;
const int mod = 1e9+7;

ll n, a, b, c, d, sum;

int main() {
     
//    freopen("1.in.txt", "r", stdin);
    while(scanf("%lld%lld%lld%lld%lld", &n, &a, &b, &c, &d) != EOF) {
     
        sum = n*(n-1)/2%mod;
        ll ans = 0;
        ans = (ans + a*b%mod*sum)%mod;
        ans = (ans + b*c%mod*sum)%mod;
        ans = (ans + c*d%mod*sum)%mod;
        ans = (ans + d*a%mod*sum)%mod;

        ans = (ans + a*n + b*n + c*n + d*n + 1)%mod;

        printf("%lld\n", ans);
    }
    return 0;
}

你可能感兴趣的:(水题-水题也就考考思维)