2020牛客多校第六场G-Grid Coloring(思维)

Description

在这里插入图片描述

Solution

  • k n k\nmid n
  • 只要依次 1 , 2 , 3 , . . . , k 1,2,3,...,k 即可
  • k n k\mid n
  • 依次 1 , 2 , 3 , . . . , k 1,2,3,...,k 会重复
  • 每行(列)后 + 1 +1 错开即可
#include <bits/stdc++.h>
int T,n,k,p;
int main(){
    scanf("%d",&T);
    while(T--){
    	scanf("%d%d",&n,&k),p=0;
	    if(n==1||k==1||2*n*(n+1)%k){puts("-1");continue;}
	    for(int i=1;i<=2*n+2;i++){
	        for(int j=1;j<=n;j++) printf("%d ",p+1),p=(p+1)%k;
	        if(n%k==0) p=(p+1)%k;
			putchar(10);
	    }
    }
}

猜你喜欢

转载自blog.csdn.net/ding_ning123/article/details/107644283
今日推荐