6.方格填数  (结果填空)

如下的10个格子

(如果显示有问题,也可以参看【图1.jpg】)

填入0~9的数字。要求:连续的两个数字不能相邻。
(左右、上下、对角都算相邻)

一共有多少种可能的填数方案?

请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

提示:和前面第4题分小组,都是用的全排列的思想,只是这个附加了条件,在递归出口时多加一下题目里的附加条件

思路:将表格从上到下从左到右从0开始编号 ,判断每种相邻的方案是否为连续数字,不是则+1

 public class _6方格填数 {
public static void main(String[] args) {
// char[] str={'0','1','2','3','4','5','6','7','8','9'};
char[] str="0123456789".toCharArray();
paixu(str, 0, str.length-1);
System.out.println(count);
}
public static int count=0;
//交换位置
public static void swap(char[] c,int i,int j){
char temp = c[i];
c[i] = c[j];
c[j] = temp;
}
//排序
public static void paixu(char[] c,int from,int to){
if (to<=1) {
return;
}if (from == to) {
if (check(c)) {
count++;
}
}else{
for (int i = from; i <= to; i++) {
swap(c, i, from);
paixu(c, from+1, to);
swap(c, from, i);
}
}
}
// 检查左右,上下,对角不是相邻的数字
public static boolean check(char[] c) {
if (check2(c[0], c[1]) && check2(c[0], c[3]) && check2(c[0], c[4])&& check2(c[0], c[5])
&& check2(c[1], c[2])&& check2(c[1], c[4])&& check2(c[1], c[5])&& check2(c[1], c[6])
&& check2(c[2], c[5])&& check2(c[2], c[6])
&& check2(c[3], c[4])&& check2(c[3], c[7])&& check2(c[3], c[8])
&& check2(c[4], c[5])&& check2(c[4], c[7])&& check2(c[4], c[8])&& check2(c[4], c[9])
&& check2(c[5], c[6])&& check2(c[5], c[8])&& check2(c[5], c[9])
&& check2(c[6], c[9])
&& check2(c[7], c[8])
&& check2(c[8], c[9])) {
return true;
}
return false;
}
// 检查相邻的数字
public static boolean check2(char a,char b){
if (a == (b+1)||a==(b-1)) {
return false;
}
return true;
}
}

运行结果:1580

java算法 蓝桥杯(题+答案) 方格填数的更多相关文章

  1. 第七届蓝桥杯javaB组真题解析-方格填数(第六题)

    题目 /* 方格填数 如下的10个格子 +--+--+--+ | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | +--+--+--+ (如果显 ...

  2. java算法 蓝桥杯 扶老奶奶街

    一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C和E其中一个扶过大街的 C :老奶奶是被我和D其中 ...

  3. java算法 蓝桥杯 乘法运算

    问题描述 编制一个乘法运算的程序. 从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出. 输入格式 输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99). 输出格式 输出为4行 ...

  4. java算法 蓝桥杯 高精度加法

    问题描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263.要想计算更加规模的数,就要用软件来扩展了,比如用数组或 ...

  5. java算法 蓝桥杯 格子位置

    问题描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i,j)同行.同列.同一对角线的所有格子的位置. 输入格式 输入共三 ...

  6. java算法 蓝桥杯 文化之旅

    问题描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化 ...

  7. java算法 蓝桥杯 摆花

    问题描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...

  8. java算法 蓝桥杯 洗牌

    问题描述 小弱T在闲暇的时候会和室友打扑克,输的人就要负责洗牌.虽然小弱T不怎么会洗牌,但是他却总是输. 渐渐地小弱T发现了一个规律:只要自己洗牌,自己就一定会输.所以小弱T认为自己洗牌不够均匀,就独 ...

  9. java算法 蓝桥杯(题+答案) 压缩变换

    10.压缩变换  (程序设计) 小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些 ...

随机推荐

  1. atoi

    , KInvalid}; int g_nStatus=kValid; int StrToInt(const char *str) { g_nStatus=KInvalid; ; if((str!=NU ...

  2. oracle存储过程的基本语法

    1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字(    参数1 IN NUMBER,    参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 ...

  3. Java高级特性之泛型

    首先我们先提出两个问题: 什么是泛型? 为什么要使用泛型?我们先来看看第一个问题什么是泛型.如果你对Java三大特性中的多态性理解的比较透彻的话,泛型就比较好理解了.多态性表示一个对象具备多种状态.比 ...

  4. doubango(1)--从协议栈结构说起

    自顶向下与自底向上 软件设计的两种方法不过于自顶向下与自底向上. 对于自顶向下而言,先设计好用户接口,再往下延伸至各个功能块的具体实现.而对于自底向上而言,自然是有了设计好的各个功能代码块,再将这些功 ...

  5. Bloom Filter的基本原理和变种

    学习一个东西首先要知道这个东西是什么,可以做什么,接着再了解这个东西有什么好处和优势,然后再学习他的工作原理.下面我们分别从这三点简单介绍一下bloom filter,以及和他的变种. What:在允 ...

  6. 【转】OSX键盘快捷键

    OS X 键盘快捷键 了解有关常见 OS X 键盘快捷键的信息.键盘快捷键是通过按下键盘上的组合键来调用 OS X 功能的一种方式. 若要使用键盘快捷键或按键组合,您可以同时按修饰键和字符键.例如,同 ...

  7. POJ1050(dp)

    To the Max Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 46788   Accepted: 24774 Desc ...

  8. EntityFramework Core Raw Query再叙注意事项后续

    前言 话说通过EntityFramwork Core进行原始查询又出问题,且听我娓娓道来. EntityFramework Core Raw Query后续 当我们进行复杂查询时我们会通过原始查询来进 ...

  9. (一)Redis在windows下的安装和使用

    1.下载redis服务端,地址:https://github.com/MSOpenTech/redis/releases 包含安装程序和源码. 2.解压<Redis-x64-3.2.100.zi ...

  10. Java内部类基本使用

    链接到外部类   创建内部类时,那个类的对象同时拥有封装对象(封装内部类的外部类)的一个链接,所以内部类可以访问外部类的成员.   内部类拥有对外部类所有元素的访问权限.   看如下代码,内部类SSe ...