Description

萌萌哒cy学姐参加去年的新生杯的时候,蛇形矩阵那题被她分分钟秒掉,于是她决定出一个更难的题目,她要求矩阵里的每个数都是质数,当然,蛇形的规则也略有变化

如2*3矩阵:

2 7 11

3 5 13

再如3*4的矩阵

2 13 17 37

3 11 19 31

5 7 23 29

Input

第一行为一个正整数T,表示数据的组数,接下来T行,每行两个正整数n,m,表示矩阵有n行m列

Output

对于每一个输入输出n行,每行m个数,表示这个矩阵,输出内容见题目描述,每个数输出宽度为6

Sample Input

2
2 3
3 4

Sample Output

     2     7    11
     3     5    13
     2    13    17    37
     3    11    19    31
     5     7    23    29

Hint

1<=n,m<=100

超时代码:哭晕

 #include<stdio.h>
#include<string.h>
#include<math.h>
int zhi(int num)
{
int i,j,p,h=;
static int k=;
for(i=k;;i++)
{
int p=sqrt(i);
for(j=;j<=p;j++)
{
if(i%j==)
break;
}
if(j<=p)
continue;
k=i+;
return i;
}
}
int main()
{ int a[][];
int m,n,x,y;
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&m,&n);
{
memset(a,,sizeof(a));
int count=;
a[x=][y=]=;
while()
{
while(!a[x+][y]&&x+<m)
a[++x][y]=zhi(++count);
while(!a[x][y+]&&y+<n)
a[x][++y]=zhi(++count);
while(!a[x-][y]&&x->=)
a[--x][y]=zhi(++count);
while(!a[x][y-]&&y->=)
a[x][--y]=zhi(++count);
if(count==m*n-)
break;
}
for(x=;x<m;x++)
{
for(y=;y<n;y++)
printf("%6d",a[x][y]);
printf("\n");
}
}
} }

AC代码

 #include<stdio.h>
#include<string.h>
#include<math.h>
int b[];
int z()//求素数
{
int i,j,count=;
for(i=;;i++)
{
int k=sqrt(i);
for(j=;j<=k;j++)
{
if(i%j==)
break;
}
if(j<=k)
continue; b[count]=i;
count++;
if(count==)
break;
}
}
int main()
{ int a[][];
int m,n,x,y;
int T;
scanf("%d",&T);
z();
while(T--)
{
scanf("%d%d",&m,&n); memset(a,,sizeof(a));
int count=;
a[x=][y=]=;
while(count<m*n-)
{
while(!a[x+][y]&&x+<m)
a[++x][y]=b[++count];
while(!a[x][y+]&&y+<n)
a[x][++y]=b[++count];
while(!a[x-][y]&&x->=)
a[--x][y]=b[++count];
while(!a[x][y-]&&y->=)
a[x][--y]=b[++count];
}
for(x=;x<m;x++)
{
for(y=;y<n;y++)
printf("%6d",a[x][y]);
printf("\n");
} } }

本部校赛 蛇形填数(二)problen1338的更多相关文章

  1. <蛇形填数>--算法竞赛 入门经典(第2版)- 3.1 数组 程序3-3 蛇形填数

     蛇形填数: 在n×n方阵里填入1,2,....,n×n,要求填成蛇形.例如,n = 4 时方阵为:    10  11  12  1   9  16  13  2 8  15  14  3 7   ...

  2. 【OI】蛇形填数题的深入探究

    题目:在 n×n 方阵里填入 1,2,...n×n, 要求蛇形填数.例如,n=4 时方阵为: 10  11  12  1 9    16  13  2 8    15  14  3 7     6  ...

  3. ACM 蛇形填数

    蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为:10 11 12 19 16 1 ...

  4. nyoj 33 蛇形填数

    蛇形填数 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为: 10 11 ...

  5. ny33 蛇形填数

    蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为: 10 11 12 1 9 16 1 ...

  6. 【ACM】蛇形填数 - 逻辑怪

    蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为:10 11 12 19 16 1 ...

  7. 梦工厂实验室 蛇形填数 dfs

    问题 D: 蛇形填数 时间限制: 3 Sec  内存限制: 64 MB提交: 28  解决: 5[提交][状态][讨论版] 题目描述 在n*n方阵里填入1,2,...,n*n,要求填成蛇形.例如n=4 ...

  8. nyoj_33_蛇形填数_201308221636

    蛇形填数时间限制:3000 ms  |  内存限制:65535 KB 难度:3描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为:10 11 12 19 16 13 28 ...

  9. nyoj33 蛇形填数

    蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.比如n=4时方陈为: 10 11 12 1 9 16 ...

随机推荐

  1. CloudStack API编程指引

    原文地址:https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+API+Coding+Guidelines 前言 本文阐述 ...

  2. 【剑指offer】面试题35:第一个只出现一次的字符

    题目: 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置.若为空串,返回-1.(书上是要求返回字符) 思路: 第一遍扫描保存下每个字符出现的 ...

  3. Socket,非阻塞,fcntl

    一.fcntl 用以下方法将socket设置成为非阻塞方式 int  flags = fcntl(socket,F_GETFL,0); fcntl(socket,F_SETFL,flags|O_NON ...

  4. Codeforces Round #389(div 2)

    A =w= B QvQ C 题意:在一个格子图里给出一个路径 里面有UDLR四种移动方向 问 我在格子路径里面最少选几个点 可以让我沿着格子路径走 其实是在相邻的点与点之间走最短路 分析:贪心+模拟 ...

  5. Promise 异步执行的同步操作

    Promise 是用来执行异步操作的. 但有时一个异步操作需要等其他的异步操作完成,这时候就可以使用then来做. function loadImageAsync(url) { return new ...

  6. eclipse里添加类似myeclipse打开当前操作目录

    1.开打eclipse ide,依次run->external tools->external tools configuration 2.在Program下,new一个自己定义的prog ...

  7. Oracle 学习笔记 19 -- 触发器和包浅析(PL/SQL)

    触发器是存放在数据库中的一种特殊类型的子程序.不能被用户直接调用,而是当特定事件或操作发生时由系统自己主动 调用执行.触发器不能接受參数.所以执行触发器就叫做触发或点火.Oracle事件指的是数据库的 ...

  8. Apple Swfit UI控件实现

    不下载你会懊悔的~~ 下载地址:https://github.com/HunkSmile/Swift.git // UILabel var label = UILabel(frame: self.vi ...

  9. 打印log 保存log

    using UnityEngine; using System.Collections; using System.IO; using System; using System.Text; names ...

  10. 初始——第一款个人开发上线app store

    最初学习iOS开发时就听人建议,程序员应该有自己的博客,来记录每天的收获,于人于己都是一件很有意义的事.但当初作为菜鸟一枚,自认为对一些知识的认识尚浅,写博客这种高大上的事和自己八竿子打不着. 现如今 ...