zoukankan      html  css  js  c++  java
  • 集训 T2-监考老师

    大致题意:

    • 找出一个位置可以选出最大的"横排总和+竖列总和"。

    基本思路

    • 利用前缀和的思想在读入的时候把每一列每一行的总和都算出来,
    • 然后暴力枚举每一个点,每一个点的答案就是这一行和这一列的和,
    • 最后找出最大的。

    Code:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    #include <queue>
    #include <stack>
    #include <map>
    #include <set>
    #include <list>
    using namespace std;
    #define R read()
    #define GC getchar()
    #define ll long long
    #define ull unsigned long long
    #define INF 0x7fffffff
    #define LLINF 0x7fffffffffffffff
    ll read(){
        ll s=0,f=1;
        char c=GC;
        while(c<'0'||c>'9'){if(c=='-')f=-f;c=GC;}
        while(c>='0'&&c<='9'){s=s*10+c-'0';c=GC;}
        return s*f;
    }
    void fre(){
        freopen("teacher.in","r",stdin);
        freopen("teacher.out","w",stdout);
    }
    int n,m;
    int mp[110][110];
    int x[110],y[110];//x[i]表示第i行的总和,y[i]表示第i列的总和
    int ans;
    int main(){
        fre();
        n=R;m=R;
        for(int i=1;i<=n;++i){
            for(int j=1;j<=m;++j){
                mp[i][j]=R;//读入
                x[i]+=mp[i][j];//记录第i行的总和
                y[j]+=mp[i][j];//记录第i列的总和
            }
        }
        for(int i=1;i<=n;++i){
            for(int j=1;j<=m;++j){//暴力枚举每一个点
                ans=max(ans,x[i]+y[j]);//找出最大的
            }
        }
        printf("%d",ans);//输出
        return 0;
    }
    
  • 相关阅读:
    JSP标准标签库(JSTL)--JSTL简介与安装
    JSP标签编程--简单标签
    Tomcat数据源
    Linux 更新vim
    perl 函数
    js 使用a标签 下载资源
    js arrayBuffer 字节序问题,小端法,大端法
    js 的 ArrayBuffer 和 dataView
    ajax 获取服务器返回的XML字符串
    遍历form表单里面的表单元素,取其value
  • 原文地址:https://www.cnblogs.com/FUXyao/p/12905917.html
Copyright © 2011-2022 走看看