方格填数

题目描述
如下的10个格子
+--+--+--+
| | | |
+--+--+--+--+
| | | | |
+--+--+--+--+
| | | |
+--+--+--+ (如果显示有问题,也可以参看【图1.jpg】) 填入0~9的数字。要求:连续的两个数字不能相邻。
(左右、上下、对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

结果:1580

public class Main {
public static int count = 0; public void swap(int[] A, int a, int b) {
int temp = A[a];
A[a] = A[b];
A[b] = temp;
} public void dfs(int[] A, int step) {
if(step == A.length) {
if(check(A))
count++;
return;
} else {
for(int i = step;i < A.length;i++) {
swap(A, i, step);
dfs(A, step + 1);
swap(A, i, step);
}
}
return;
} public boolean check(int[] A) {
if(Math.abs(A[0]-A[3]) != 1 && Math.abs(A[0]-A[1]) != 1 && Math.abs(A[0]-A[4]) != 1 && Math.abs(A[0]-A[5]) != 1) {
if(Math.abs(A[1]-A[4]) != 1 && Math.abs(A[1]-A[5]) != 1 && Math.abs(A[1]-A[2]) != 1 && Math.abs(A[1]-A[6]) != 1) {
if(Math.abs(A[2]-A[5]) != 1 && Math.abs(A[2]-A[6]) != 1) {
if(Math.abs(A[3]-A[4]) != 1 && Math.abs(A[3]-A[7]) != 1 && Math.abs(A[3]-A[8]) != 1) {
if(Math.abs(A[4]-A[5]) != 1 && Math.abs(A[4]-A[7]) != 1 && Math.abs(A[4]-A[8]) != 1 && Math.abs(A[4]-A[9]) != 1) {
if(Math.abs(A[5]-A[8]) != 1 && Math.abs(A[5]-A[9]) != 1 && Math.abs(A[5]-A[6]) != 1) {
if(Math.abs(A[6]-A[9]) != 1 && Math.abs(A[7]-A[8]) != 1) {
if(Math.abs(A[8]-A[9]) != 1)
return true;
}
}
}
}
}
}
}
return false;
} public static void main(String[] args) {
Main test = new Main();
int[] A = {0,1,2,3,4,5,6,7,8,9};
test.dfs(A, 0);
System.out.println(count);
}
}

java实现第七届蓝桥杯方格填数的更多相关文章

  1. java实现第七届蓝桥杯七星填数

    七星填数 如图[图1.png]所示. 在七角星的14个节点上填入1~14 的数字,不重复,不遗漏. 要求每条直线上的四个数字之和必须相等. 图中已经给出了3个数字. 请计算其它位置要填充的数字,答案唯 ...

  2. 第七届 蓝桥杯 方格填数 dfs

    如下的10个格子  填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数. 注意:你提交的应该是一个整数,不要填写任何 ...

  3. java实现第七届蓝桥杯凑平方数

    凑平方数 把0~9这10个数字,分成多个组,每个组恰好是一个平方数,这是能够办到的. 比如:0, 36, 5948721 再比如: 1098524736 1, 25, 6390784 0, 4, 28 ...

  4. java实现第六届蓝桥杯五星填数

    五星填数 如[图1.png]的五星图案节点填上数字:1~12,除去7和11. 要求每条直线上数字和相等. 如图就是恰当的填法. 请你利用计算机搜索所有可能的填法有多少种. 注意:旋转或镜像后相同的算同 ...

  5. java算法 第七届 蓝桥杯B组(题+答案) 6.方格填数

    6.方格填数  (结果填空) 如下的10个格子 (如果显示有问题,也可以参看[图1.jpg]) 填入0~9的数字.要求:连续的两个数字不能相邻.(左右.上下.对角都算相邻) 一共有多少种可能的填数方案 ...

  6. java实现第七届蓝桥杯冰雹数

    题目8.冰雹数 题目描述 任意给定一个正整数N, 如果是偶数,执行: N / 2 如果是奇数,执行: N * 3 + 1 生成的新的数字再执行同样的动作,循环往复. 通过观察发现,这个数字会一会儿上升 ...

  7. java实现第七届蓝桥杯路径之谜

    路径之谜 题目描述 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到 ...

  8. java算法 第七届 蓝桥杯B组(题+答案) 10.压缩变换

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

  9. java算法 第七届 蓝桥杯B组(题+答案) 9.取球博弈

    9.取球博弈  (程序设计) 两个人玩取球的游戏.一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目.如果无法继续取球,则游戏结束.此时,持有奇数个球的一方获胜.如果两人都是 ...

随机推荐

  1. HDU 2004 (水)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2004 题目大意: 给你成绩让你根据成绩打分解题思路: 简单的if...else 应用 需要注意是,if ...

  2. Vue.js-Vue的初体验

    我是参考https://www.cnblogs.com/kidney/p/6052935.html 这位大神的 最开始接触vue的时候,是他的input框输入的文字和旁边的span展示的文字同步,当时 ...

  3. PAT 1006 Sign In and Sign Out (25分) 字符串比较

    题目 At the beginning of every day, the first person who signs in the computer room will unlock the do ...

  4. ql自动化测试之路-概述篇

    前言:本节主要讲解自动化测试的基本概述,包括分层自动化测试.自动化测试中用到的工具.以及关于自动化测试的想法 一.分层自动化测试 上图是经典的测试金字塔.用它来形容目前测试投入的价值是比较适合的,同样 ...

  5. Docker & Kubenetes 系列四:集群,扩容,升级,回滚

    本篇将会讲解应用部署到Kubenetes集群,集群副本集查看,集群自愈能力演示,集群扩容,滚动升级,以及回滚. 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我们向Kub ...

  6. Codeforces1144C(C题)Two Shuffled Sequences

    C. Two Shuffled Sequences Two integer sequences existed initially — one of them was strictly increas ...

  7. 王艳 201771010127《面向对象程序设计(java)》第六周学习总结

    实验六 继承定义与使用 一:理论部分: 第五章:继承类. 1.继承:已有类来构建新类的一种机制.档定义了一个新类继承另一个类时,这个新类就继承了这个类的方法和域,同时在新类中添加新的方法和域以适应新的 ...

  8. WARN: Establishing SSL connection without server’s identity verification is not recommended

    问题 使用Spring JDBC 连接 MySQL时,出现如下警告: WARN: Establishing SSL connection without server's identity verif ...

  9. dij+DP

    众所周知,蒜蒜是一名热爱工作的好员工,他觉得时间就是金钱,做事情总是争分夺秒. 这天晚上,蒜蒜一个人去吃晚饭.不巧的是,吃完饭以后就开始下雨了,蒜蒜并没有带雨伞出来.但是蒜蒜热爱工作,工作使他快乐,他 ...

  10. hdu6153KMP

    A Secret Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 256000/256000 K (Java/Others)Total ...