第二题,他并不是多难的算法。甚至连搜索都不用,他的题目要求和数据断定了他第二题的地位。

在一个大试场里,有 n 行 m 列的考生,小王和众多同学正在考试,这时,有一部分考生
作弊,当然,监考老师能发现他们。但是只有一个监考老师,他由于高度近视,只能发现与
他同行同列的作弊者,而且由于监考老师年老体弱,在考试过程中无法移动。现在已知 n*m
个考生中谁在作弊,请帮监考老师找一个位置,可以发现最多的作弊者(监考老师可以和某
个考生在同一位置)。如果监考老师的位置上的考生在作弊,那么监考老师先前后看,发现
他作弊,再左右看,又发现他作弊,算做发现 2 个考生作弊
对于 50%的数据,0<n,m<=10
对于 100%的数据,0<n,m<=100,所有数据都在 longint 范围内

看这个样子,我们只需要求出每行每列各有多少作弊者,然后双层for循环遍历就可以了啊。

看起来是这样,实际上呢?

实际上就是这样。

题目说的很清楚了,要抓到最多的学生,那我们直接把所有的地方遍历一遍,看看哪里抓到的数量最多就好了。

(嗯,说了2遍题解呢……)

现在就是神圣的代码时间:

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
long long h[205],s[205],shu,n,m,a;
int main()
{
freopen("teacher.in","r",stdin);//至关重要的freopen,不加会0分的哦
freopen("teacher.out","w",stdout);
scanf("%lld%lld",&n,&m);
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%lld",&a);//输入
if(a==1)//他是作弊者
{
h[i]++;//他身处的这行增加了一个作弊者
s[j]++;//他身处的这列增加了一个作弊者
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
shu=max(shu,h[i]+s[j]);//遍历所有点,找最大值。
}
}
printf("%lld\n",shu);//输出最大值
return 0;
}

嗯,这个题优雅的结束了,我们下一题见。

最新文章

  1. bootstrapValidator.js 做表单验证
  2. Visual Studio 2015将在7月20号RTM
  3. MERGE 用法
  4. SQL-字符串合并
  5. SQL语句执行顺寻
  6. 李洪强iOS之Foundation框架—字符串
  7. cocos2d-x 屏幕适配新解
  8. codeforces 132C Logo Turtle(dp)
  9. hbase权威指南学习笔记--架构--存储
  10. js中if的简写方法
  11. 图解ARP协议(三)ARP防御篇-如何揪出“内鬼”并“优雅的还手”
  12. 【Angular专题】 (3)装饰器decorator,一块语法糖
  13. mysql恢复备份数据时,部分表数据丢失的问题
  14. 字符转ASCII码
  15. LeetCode 976 Largest Perimeter Triangle 解题报告
  16. [py][mx]django处理登录逻辑
  17. c++计时
  18. innodb和myisam数据库文件存储详解以及mysql表空间
  19. 使用itext直接替换PDF中的文本
  20. ASP.NET获取文件名,后缀名

热门文章

  1. 重学 Java 设计模式:实战命令模式「模拟高档餐厅八大菜系,小二点单厨师烹饪场景」
  2. vue开发搭建(npm安装 + vue脚手架安装)
  3. 恕我直言你可能真的不会java第8篇-函数式接口
  4. int与bigdecimal的相互转换
  5. django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.2的最佳处理方法,亲测可用
  6. JavaScript动画实例:递归分形图动态展示
  7. RISC-V发展现状
  8. 奇怪DP之步步为零
  9. BZOJ 1131 [POI2008] STA-Station 题解
  10. 读CSAPP第二章的收获