问题 D: 蛇形填数

时间限制: 3 Sec  内存限制: 64 MB
提交: 28  解决: 5
[提交][状态][讨论版]

题目描述

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

输入

直接输入方阵的维数,即n的值。(n<=100)

输出

输出结果是蛇形方阵。

样例输入

3

样例输出

7 8 1
6 9 2
5 4 3 一类题型。四个方向dfs,当走不通时,t++改变方向,否则一直往一个方向走。
#include<stdio.h>
int a[][];
int c=,n,t=;
void dfs(int x,int y)
{
if(x<||y<||x>n||y>n){
t++;
return;
}
if(a[x][y]!=){
t++;
return;
}
a[x][y]=c;
c++;
while(c<=n*n){
if(t%==) dfs(x+,y);
else if(t%==) dfs(x,y-);
else if(t%==) dfs(x-,y); //遍历思路
else dfs(x,y+);
}
}
int main()
{
int i,j;
scanf("%d",&n);
dfs(,n);
for(i=;i<=n;i++){
for(j=;j<=n;j++){
if(j==) printf("%d",a[i][j]);
else printf(" %d",a[i][j]);
}
printf("\n");
}
return ;
}
/**************************************************************
Problem: 1541
User: 2016207228
Language: C
Result: 正确
Time:1 ms
Memory:1312 kb
****************************************************************/

梦工厂实验室 蛇形填数 dfs的更多相关文章

  1. nyoj 33 蛇形填数

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

  2. ACM 蛇形填数

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

  3. <蛇形填数>--算法竞赛 入门经典(第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   ...

  4. ny33 蛇形填数

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

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

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

  6. nyoj_33_蛇形填数_201308221636

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

  7. nyoj33 蛇形填数

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

  8. [C++]蛇形填数

    [从左下角开始,逆时针蛇形填数] #include <iostream> using namespace std; int main() { int n; cin>>n; in ...

  9. 蛇形填数(JAVA语言)

    package 第三章; import java.util.Scanner; public class 蛇形填数 { public static void main(String[] args)  { ...

随机推荐

  1. 自己动手写CPU之第七阶段(5)——流水线暂停机制的设计与实现

    将陆续上传本人写的新书<自己动手写CPU>,今天是第28篇.我尽量每周四篇 China-pub的预售地址例如以下(有文件夹.内容简单介绍.前言): http://product.china ...

  2. eclipse下Android工程名称的修改方法

    eclipse下Android工程名称的修改方法 对于已经建立的工程,如果发现原来的工程名不合适,此时若想彻底更改工程名,需要三个步骤: 1.更改工程名 选中工程名,右键-->Refactor- ...

  3. java读取properties文件中参数值

    在类文件中加入代码: //config.properties.sysInfo //sysInfo.properties在文件夹的路径为/src/config/properties/sysInfo.pr ...

  4. 【LeetCode】Maximum Depth of Binary Tree

    http://oj.leetcode.com/problems/maximum-depth-of-binary-tree/ public class Solution { public int max ...

  5. 关于hibernate配置步骤

    1.导入jar包,根据连接数据库不同改变数据库jar包 2.创建hibernate.cfg.xml文件 几个常用的参数作用: connection.url:表示数据库URL,不同数据库有不同写法 a. ...

  6. UVA11892 ENimEN —— 博弈

    题目链接:https://vjudge.net/problem/UVA-11892 题意: 两人玩游戏,有n堆石子,每堆有ai块石子,两人轮流取,要求一次只能选择一堆石子取任意块.最后取完的获胜. 题 ...

  7. bzoj2132【圈地计划】

    题面 思路: 一开始以为和为了博多一样,两边连一样的,后来发现中间连负边的话根本不会割,即割断两块收益为负,所以WA的起飞…… 正解是先黑白染色,每个点和它周围的点连边方式不同.对于黑点A,S--&g ...

  8. Myeclipse项目内容没有报错但是项目上面却有红色叉叉

    当src文件夹为空的时候,git是不提交空文件夹的,所以check出来的项目中没有src文件夹,这个时候也会出现此问题.

  9. Hibernate 模糊查询 ' %?% ' SQL执行异常

    今天我在使用Hibernate 的SQL预编译之后注入参数的形式写了一条模糊查询语句.刚开始我是这么写的

  10. Sublime Text 快捷键及使用技巧的学习整理

    下载和安装(很简单,省略)下载地址 http://www.sublimetext.com/2 1. 有两点需要注意 a) Sublime Text目前稳定的版本是Sublime Text 2,Subl ...