T270714 地鼠的远亲

题目描述

非洲同胞永远是我们的好朋友。在东非草原上,一共有 n\times mn×m 只地鼠,他们生活的窝排列成 n\times mn×m 网格型。

其中,每只地鼠都有一个特征值 b_{i,j}bi,j​,经调查,我们认为特征值相同的地鼠一定有某种血缘关系。例如,两只地鼠分别生活在第二行第三列、第五行第六列。若 b_{2,3}=b_{5,6}b2,3​=b5,6​,那么我们认为这两只地鼠是亲戚。

现在,给出这个 n\times mn×m 只地鼠的位置,需要对每只地鼠求出离自己距离最远的亲戚的距离是多少。

注意,假设两只地鼠分别位于第 ii 行第 jj 列和第 aa 行第 bb 列,则它们之间的距离为 (i-a)^2+(b-j)^2(i−a)2+(b−j)2 。

输入格式

第一行两个正整数 n,mn,m,表示地鼠家族的行数和列数。

第 2\sim n+12∼n+1 行给出一张大小为 n\times mn×m 的数表 \{b_{n,m}\}{bn,m​},其中 b_{i,j}bi,j​ 表示第 ii 行 jj 列上地鼠的特征值。

输出格式

输出同样是一个 n\times mn×m 的数表,其中每个元素表示距自己最远的亲戚的距离是多少。

特别的,如果有某只地鼠没有远亲,则输出 00 。

输入输出样例

输入 #1复制

2 4
1 2 3 2
3 2 1 3

输出 #1复制

5 4 5 5
9 5 5 9

说明/提示

对于 30\%30% 的数据,1\leq n,m \leq 31≤n,m≤3 。

对于另外 10\%10% 的数据,有 n=1n=1 。

对于另外 10\%10% 的数据,有 m=1m=1 。

对于另外 10\%10% 的数据,有 b_{i,j}=1bi,j​=1 。

对于 100\%100% 的数据,1\leq n,m\leq 50,1\leq b_{i,j}\leq 10^{18}1≤n,m≤50,1≤bi,j​≤1018 。

#include<bits/stdc++.h>
using namespace std;
long long a[55][55];
int juli;
int  main() {
	long long x,y;
	cin>>x>>y;
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			cin>>a[i][j];
		}
	}
	
			for(int i=1;i<=x;i++){
				for(int j=1;j<=y;j++){ //a[i][j]
					int max=0;
					for(int n=1;n<=x;n++){
						for(int m=1;m<=y;m++){
							if(a[i][j]==a[n][m]){
								int x1=abs(n-i);
								int y1=abs(m-j);
								
									juli=x1*x1+y1*y1;
							
							
								if(juli>max){
									max=juli;
								}
							}
					}
			} cout<<max<<" ";
		}cout<<endl;
	}
	
	
}
 
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S_Ghost_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值