1400*C. No Prime Differences(找规律&数学)

1400*C. No Prime Differences(找规律&数学)_第1张图片

1400*C. No Prime Differences(找规律&数学)_第2张图片 

解析:

        由于 1 不是质数,所以我们令每一行的数都相差 1

        对于行间,分为 n、m之中有存在偶数和都为奇数两种情况。

        如果n、m存在偶数,假设m为偶数。

        1400*C. No Prime Differences(找规律&数学)_第3张图片

        如果都为奇数,则:

        1400*C. No Prime Differences(找规律&数学)_第4张图片 

#include
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;
}

 

你可能感兴趣的:(codeforces,c语言,算法,c++,数据结构,开发语言)