白仔跳马

时间限制: 1000 ms

内存限制: 256 MB

题目描述:

白仔手上有一个中国象棋中的马

现有n  n 的棋盘,每个点上有一个数值(val)。

将马依次放到每个点(x,y)上,如果马的攻击范围内(一步能跳跃到的位置)的所有val值中,如果存在与k互质的val值,那么当前点(x,y)的key值为1,否则key值为(x,y)的val值。

最终输出整个棋盘所有点的key值

输入格式:

第一行一个正整数n

接下来一个n*n 的矩阵,每个正整数代表每个点的val值

最后一行一个正整数k

输出格式:

输出一个n*n 的矩阵,表示每个点的key值,同一行的key值之间用空格隔开

样例:

input

3
1 2 3
4 5 6
7 8 9
2

output

1 1 3
1 5 1
7 1 9

数据范围及提示

对于100%的数据,1<=n<=100,1<=矩阵中的val值<=10000 ,1<=k<=10000

注:判断互质如果写的过于麻烦会超时的。辗转相除总要会的吧.jpg

测试网站 https://turingjudge.com/contest/28/problem/A

#include <bits/stdc++.h>
using namespace std;
/*
. . .

猜你喜欢

转载自blog.csdn.net/qq_40839193/article/details/103959617