解析:
由于 1 不是质数,所以我们令每一行的数都相差 1
对于行间,分为 n、m之中有存在偶数和都为奇数两种情况。
如果n、m存在偶数,假设m为偶数。
如果都为奇数,则:
#include<bits/stdc++.h>
using namespace std;
//const int N=
int t,n,m;
int main(){scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);if(n%2==0){int k=1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)printf("%d ",i+(j-1)*n);puts("");}} else if(m%2==0){int k=1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)printf("%d ",k++);puts("");}}else{int k=1;for(int i=1;i<=n;i++){if(i%2==0){k+=m;continue;}for(int j=1;j<=m;j++)printf("%d ",k++);puts("");}k=1;for(int i=1;i<=n;i++){if(i%2!=0){k+=m;continue;}for(int j=1;j<=m;j++)printf("%d ",k++);puts("");}}puts("");}return 0;
}