给nn nn的网格图边染 k种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案 种色,每染的边数相同构造不存在环及整行列方案
#include<bits/stdc++.h>
using namespace std;
int l;
int n,k,t;
int a[210][210];
int b[210][210];
int main()
{
scanf("%d",&l);
while(l--)
{
scanf("%d%d",&n,&k);
if (n==1 || k==1 || (2*n*(n+1))%k)
{
printf("-1\n");
continue;
}
t=0;
for (int i=0; i<n; i++)
{
for (int j=0; j<n; j++)
{
t=t%k+1;
a[i][j]=t;
}
for (int j=0; j<=n; j++)
{
t=t%k+1;
b[j][i]=t;
}
}
for (int i=0; i<n; i++)
{
t=t%k+1;
a[n][i]=t;
}
for(int i=0; i<=n; i++)
{
for(int j=0; j<n; j++)
printf("%d ",a[i][j]);
cout<<endl;
}
for(int i=0; i<=n; i++)
{
for(int j=0; j<n; j++)
printf("%d ",b[i][j]);
cout<<endl;
}
}
return 0;
}