2020牛客寒假算法基础集训营6.F——十字列阵【计算】

网友投稿 224 2022-09-23

2020牛客寒假算法基础集训营6.F——十字列阵【计算】

​​题目传送门​​

题目描述

输入描述:

第一行 3 个数字 N,M,H 接下来 H 行,每行 3 个正整数 xi,yi,zi

输出描述:

输入

5 5 5 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5

输出

890

说明

造成伤害的情况是: 1 3 4 5 6 3 2 5 6 7 4 5 3 7 8 5 6 7 4 9 6 7 8 9 5 补充的说明: 890 = 1*(1+1)+3*(1+2)+4*(1+3)+…+5*(5+5),一共25项累加得到890

题解

AC-Code

#include using namespace std;typedef long long ll;const int mod = 1e9+7;const int maxn = 2e3+7;int main(){ ll N, M, H; while(scanf("%lld%lld%lld", &N, &M, &H) == 3) { ll n = (1+N)*N/2; // 1+...+N ll m = (1+M)*M/2; ll ans = 0; for(int i = 0; i < H; ++i) { ll x, y, z; scanf("%lld%lld%lld", &x, &y, &z); ans = (ans + z * (n + m + (N-1)*y % mod + (M-1)*x % mod) % mod) % mod; } printf("%lld\n", ans); } return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CF 1300.A——Non-zero【签到题】
下一篇:文案君:以微光,向上生长!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~