CodeForces463C Gargari and Bishops(贪心)

CodeForces463C

题目大意: 

在国际象棋的棋盘上放两个主教,这个两个主教不能攻击到同一个格子,最后的得分是这两个主教的攻击的格子上的分数之和。

求最大的分数。

解题思路: 

由于攻击的范围是对角线,所以两个主教一个在黑格,一个在白格。画个图就能够发现一旦一个主教放在了黑格。那么剩下的黑格是都不能在放主教的,否则就是攻击到同样的格子。

所以求出每条对角线的和,通过这个得出每一个格子作为主教的得分,最后黑白格分开讨论。

代码:

#include <cstdio>
#include <algorithm>
#include <cstring> using namespace std; typedef long long ll;
const int maxn = 2e3 + 5; int N;
ll G[maxn][maxn];
ll d1[maxn*2], d2[maxn*2]; int main () { while (scanf ("%d", &N) != EOF) { memset(d1, 0, sizeof (d1));
memset(d2, 0, sizeof (d2)); for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++) {
scanf ("%lld", &G[i][j]);
d1[i + j] += G[i][j];
d2[(i - j) + N] += G[i][j];
} ll odd = -1, even = -1;
int oddx, oddy, evenx, eveny;
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) { if ((i + j)&1) {
if (odd < d1[i + j] + d2[i - j + N] - G[i][j]) {
odd = d1[i + j] + d2[i - j + N] - G[i][j];
oddx = i;
oddy = j;
}
} else {
if (even < d1[i + j] + d2[i - j + N] - G[i][j]) {
even = d1[i + j] + d2[i - j + N] - G[i][j];
evenx = i;
eveny = j;
}
}
}
} printf ("%lld\n%d %d %d %d\n", odd + even, oddx, oddy, evenx, eveny);
}
return 0;
}

最新文章

  1. javascript for..in 知识
  2. 内网穿透神器ngrok——将本地项目驾到外网
  3. js与cookie的domain和path之间的关系
  4. ng-repeat的group
  5. mysql外键设置(待测试)
  6. 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误
  7. 【原创】lua的module的一些点
  8. (转)C#中的委托,匿名方法和Lambda表达式
  9. android堆栈调试--详细
  10. 用C# (.NET Core) 实现迭代器设计模式
  11. Android图表库MPAndroidChart(十三)——简约的底部柱状图
  12. canvas的使用方法
  13. 【渗透攻防Web篇】SQL注入攻击高级
  14. 2/19 学习笔记(for in 、 del语句)
  15. Database数据库切片模式
  16. ssh整合not found class 异常总结
  17. 2015-2016-1 学期《软件工程》学生名单-- PS:教材使用《构建之法》第二版 --邹欣著
  18. Hadoop与Spark之间的比较
  19. hbase建表时 ERROR: java.io.IOException: Table Namespace Manager not ready yet, try again later
  20. Vue中子组件调用父组件的方法

热门文章

  1. 2.6. Statistical Models, Supervised Learning and Function Approximation
  2. 谈谈 WLST Custom Commands
  3. MD5和SHA512Managed ——哈希算法
  4. 7-05. 魔法优惠券(25) (数学 ZJU_PAT)
  5. 通过 Autostereograms 案例学习 OpenGL 和 OpenCL 的互操作性
  6. 实现DataGridView和DevExpress.GridControl表头全选功能
  7. React 组件开发初探
  8. 详解Linq to SQL
  9. Android环境开发搭建
  10. TcpClient