• CodeForces463C Gargari and Bishops(贪心)


    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
    %d %d %d %d
    ", odd + even, oddx, oddy, evenx, eveny);
        }
        return 0;
    }
  • 相关阅读:
    zz 使用svn——项目的目录布局
    eclipse中字体太小
    SVN 项目的目录结构
    tuscany requires 学习
    搜索子集生成
    HZNUACM寒假集训Day12小结 数论入门
    HZNUACM寒假集训Day10小结 树树形DP
    模板 快速幂|取余
    HZNUACM寒假集训Day7小结 背包DP
    HZNUACM寒假集训Day6小结 线性DP
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5271467.html
Copyright © 2020-2023  润新知