T2 监考老师 题解

摘要:
然而,只有一名监考老师。由于高度近视,他只能找到与他同列的作弊者,而且由于监考老师年老体弱,考试期间他无法动弹。如果监考老师作弊,监考老师首先来回查看,发现他作弊,然后环顾四周,发现他在作弊。据计算,两个候选对象欺骗了50%的数据,0˂n,m˂=10欺骗了100%的数据,0˂n,m˂=100,并且所有数据在经度范围内看起来都是这样的。我们只需要找出每行和每列中有多少作弊者,然后双层进行循环遍历。

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

在一个大试场里,有 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
",shu);//输出最大值
	return 0;
}

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

免责声明:文章转载自《T2 监考老师 题解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java设计模式的应用场景(转)sql 简单查询修改下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Sobel算子 (转)

幻灯片1 Sobel算子幻灯片2 I Sobel边缘检测算子l在讨论边缘算子之前,我们首先给出一些术语的定义:l边缘:信息的突然变化,如灰度级或结构。边缘是一个区域的结束,另一个区域开始。此功能可用于分割图像。Sobel算子也是一种梯度幅度,即偏导数Sx和Sy可以通过卷积模板实现。...

Pycharm Debug功能详解

左键单击代码编辑区域中的行号以在调试模式下运行代码:单击左上角工具栏上的调试图标(bug图)。方法2:在调试模式下运行后,1。代码编辑区域中的蓝色条是当前程序运行的位置,即c=add(a)应该运行,但尚未运行。2.代码编辑区域中的深红色条是当前程序设置的所有断点行。3.左下方是程序堆栈,进入fun()函数。4.右下方是可变显示区域1。跳转到当前断点(在断点之...

压倒程序员的最后一个面试题,iOS性能优化的面试题

以及如何进行性能优化?关于instruments网上有很多资料,作为一个合格iOS开发者,熟悉这个工具还是很有必要的。一个tableview维持一个队列的数据可重用的UITableViewCell对象。这一过程即为Blending。在运行中缩放图片是很耗费资源的,特别是UIImageView嵌套在UIScrollView中的情况下。...

Redis设置Auth认证保护

Redis有一种保护数据安全的身份验证方法。有两种方法可以设置此身份验证。一个是通过配置文件。另一种是直接在Redis客户端命令中设置参数requirepas。首先是在配置文件中查找参数requirepass。这是配置Redis访问密码的参数。由于Redis具有很强的并发能力,并且只使用密码,攻击者可能会在短时间内发送大量密码猜测请求,这很容易被暴力破解。因...

Linux系统glibc库版本信息查看

有时我们经常需要检查当前系统的glibc版本。您可以按如下方式进行检查:/lib/libc。所以。6有时:/lib/x86-64-linux/libc。因此6.将文件作为命令执行。为什么库可以直接运行?Glibc是gnu发布的libc库,即c运行时。glibc是linux系统中最低级别的api,几乎任何其他运行时都将依赖glibc。Gcc和libc是相互依赖...

Dto和Entity如何优雅的相互转换

什么是Dto,Entity,用来干什么?这个时候就有一个麻烦事,Entity和Dto的互转。通常的转换方法有两个途径,一个是通过反射的方式,来进行对象属性的复制;另一种是,通过硬编码进行对象属性的赋值;1.在service层中添加实体类转换函数@ServicepublicMyEntityService{publicSomeDtogetEntityById{S...