C++大神快进来

题目背景“codeplus比赛的时候在做什么?有没有空?能来解决停机问题吗?”qmqmqm这样问sublinekelzrip。当然,sublinekelzrip并不会停机... 题目背景
“codeplus比赛的时候在做什么?有没有空?能来解决停机问题吗?”qmqmqm这样问sublinekelzrip。

当然,sublinekelzrip并不会停机问题,所以qmqmqm改为提出了另一个题目,现在请你帮助sublinekelzrip解决这个题目。

题目描述
这个问题是这样的:

对于任何一个n阶方阵,若任意从其中选择n个不同行不同列的位置,其上的权值之和均相等,则我们称这个矩阵是巧妙的。注意对于n=1的任何矩阵都是巧妙的。 例如矩阵147258369是巧妙的,因为1+5+9=1+6+8=2+4+9=2+6+7=3+5+7=3+4+8=15,而矩阵1221不巧妙,因为1+1≠2+2。

现在有一个n×m大小的矩阵M以及T个询问,每次询问其一个子方阵是否是巧妙的。

输入格式
从标准输入读入数据。

输入第一行包含三个正整数n,m,T。

之后n行每行m个空格分割的非负整数,表示矩阵M。

之后T行每行3个正整数x,y,k,表示询问第x行第y列为左上角的k阶方阵是否是巧妙的。保证这个矩阵完全位于M之中。

输出格式
输出到标准输出。

输出包含T行每行一个字符Y或者N。Y表示被询问的方阵是巧妙的,N表示不是。

样例1输入
3 3 4
1 1 1
1 1 1
1 1 2
1 1 2
1 1 3
2 2 2
2 1 2
样例1输出
Y
N
N
Y

对了加我我发红包!!!!!!!!!!!!!!!!!!!!
展开
 我来答
sssworld
2017-12-23 · TA获得超过160个赞
知道小有建树答主
回答量:89
采纳率:86%
帮助的人:33.6万
展开全部
只贴思路,没空敲代码233……
先看2*2矩阵:
a b
c d
巧妙,当且仅当a+d=b+c即a-b=c-d。
要注意一个情况,n个不同行不同列的元素之和均相等,这个条件等价于,任意交换两个元素的列(比如[1,3]、[2,5]变成[1,5]、[2,3]),总和保持不变。
结合2*2的条件,可以得出结论:
一个n*n的矩阵巧妙,当且仅当,任意两行l1、l2,两列c1、c2,满足
[l1,c1]-[l1,c2]=[l2,c1]-[l2,c2]
于是我们现在只需要枚举c1、c2,依次计算所有l,只要有任一行与第一行中c1、c2不满足上面的等式,这个矩阵就是不巧妙的。
反之,这个矩阵满足所有情况下的等式,就是巧妙地。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式