矩阵

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

车车的爱之矩阵是一个行数为 n,列数为 m 的矩阵并满足以下条件:

111. 矩阵元素 xij​ 为整数并满足 0<∣xij​∣⩽114514。

222. 对于在矩阵边界的元素,即 iii 为 1 或n 的元素与 jjj 为 1 或 m 的元素,满足元素周围一圈元素之和加上自身元素值为 0。

3. 对于其他元素,满足周围一圈元素之和为 0。

周围一圈是指在该元素上、下、左、右、左上、左下、右上、右下八个方位的元素。

注:对于在矩阵边界的元素其周围一圈的元素不为八个,只算在边界中的元素。

请聪明的你打印出构造的矩阵。

输入描述:

第一行一个正整数 T (1⩽T⩽103),表示有 t 组数据。

接下来 T 行,每行包含两个正整数 n,m (2⩽n, m⩽103),表示需构造矩阵的行数和列数。

保证 ∑n⋅m⩽106。

输出描述:

 
 

对于每组数据,输出 n 行,每行有 m 个元素,用空格分隔。

答案不唯一,输出任何满足题目要求的答案都可以通过。

示例1

输入

1
2 2

输出

114514 114514
-114514 -114514

示例2

输入

2
2 3
3 2

输出

1 -2 -3
-1 2 3
-3 3
-2 2
-1 1

备注:

 
 

如图 1,对于元素 x22​,其周围一圈是指红底元素,需满足x11​+x12​+x13​+x21​+x23​+x31​+x32​+x33​=0。

如图 2,对于元素 x12​,其周围一圈是指红底元素,需满足x11​+x12​+x13​+x21​+x22​+x23​=0。

如图 3,对于元素 x11​,其周围一圈是指红底元素,需满足x11​+x12​+x21​+x22​=0。

#include<iostream>
using namespace std;
int main()
{
   int t;
    scanf("%d",&t);
    while(t--){
        int n,m;
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if(i%2==1) {
                    if (j % 2 == 1) {
                        printf("1 ");
                    } else {
                        printf("-1 ");
                    }
                }
                else if(i%2==0){
                    if (j % 2 == 1) {
                        printf("-1 ");
                    } else {
                        printf("1 ");
                    }
                }
            }
            printf("\n");
        }
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

q619718

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

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

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

打赏作者

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

抵扣说明:

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

余额充值