搭积木

题目描述

小明最近喜欢搭数字积木,

一共有10块积木,每个积木上有一个数字,0~9。

搭积木规则:

每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。

最后搭成4层的金字塔形,必须用完所有的积木。

下面是两种合格的搭法:

0

1 2

3 4 5

6 7 8 9

0

3 1

7 5 2

9 8 6 4

请你计算这样的搭法一共有多少种?

请填表示总数目的数字。

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

结果:768

public class Demo1 {
static int count=0;
public static void main(String[] args) {
int arr[]=new int[]{0,1,2,3,4,5,6,7,8,9};
dfs(arr,0,10);
System.out.println(count);
}
private static void dfs(int[] arr, int num, int k) {
// TODO Auto-generated method stub
if(num==k){
if(panDuan(arr)){
count++;
}
}
for(int i=num;i<arr.length;i++){
swap(arr,num,i);
dfs(arr,num+1,k);
swap(arr,num,i); }
}
private static void swap(int[] arr, int num, int i) {
// TODO Auto-generated method stub
int temp=arr[num];
arr[num]=arr[i];
arr[i]=temp;
}
private static boolean panDuan(int[] arr) {
// TODO Auto-generated method stub
/* 0
2
4 5
7 8 9*/
if(arr[0]<arr[1]&&arr[0]<arr[2]){
if(arr[1]<arr[3]&&arr[1]<arr[4]){
if(arr[2]<arr[4]&&arr[2]<arr[5]){
if(arr[3]<arr[6]&&arr[3]<arr[7]){
if(arr[4]<arr[7]&&arr[4]<arr[8]){
if(arr[5]<arr[8]&&arr[5]<arr[9]){
return true;
}
}
}
}
}
}
return false;
}
}

java实现第七届蓝桥杯搭积木的更多相关文章

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

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

  2. java实现第七届蓝桥杯机器人塔

    机器人塔 X星球的机器人表演拉拉队有两种服装,A和B. 他们这次表演的是搭机器人塔. 类似: A B B A B A A A B B B B B A B A B A B B A 队内的组塔规则是: A ...

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

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

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

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

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

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

  6. Java实现第七届蓝桥杯国赛 赢球票

    标题:赢球票 某机构举办球票大奖赛.获奖选手有机会赢得若干张球票. 主持人拿出 N 张卡片(上面写着 1~N 的数字),打乱顺序,排成一个圆圈. 你可以从任意一张卡片开始顺时针数数: 1,2,3- 如 ...

  7. java实现第七届蓝桥杯四平方和

    四平方和 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^ ...

  8. java实现第七届蓝桥杯有奖竞猜

    有奖竞猜 题目描述 小明很喜欢猜谜语. 最近,他被邀请参加了X星球的猜谜活动. 每位选手开始的时候都被发给777个电子币. 规则是:猜对了,手里的电子币数目翻倍, 猜错了,扣除555个电子币, 扣完为 ...

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

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

随机推荐

  1. Spring Cache的基本使用与分析

    概述 使用 Spring Cache 可以极大的简化我们对数据的缓存,并且它封装了多种缓存,本文基于 redis 来说明. 基本使用 1.所需依赖 <dependency> <gro ...

  2. git仓促拉去提交输入密码读取钥匙串

    项目的目录执行: git config --global credential.helper osxkeychain

  3. Python基础语法day_02——字符串规则

    day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> print(nam ...

  4. Codeforces1144A(A题)Diverse Strings

    A. Diverse Strings A string is called diverse if it contains consecutive (adjacent) letters of the L ...

  5. SQL SERVER sa无法登陆的问题

    安装的时候选择了 Windows 身份验证模式,只能windows内置账户登录解决方法:先登录(SQL Server Management Studio ),点服务器,右键->属性->安全 ...

  6. SDK内本地化处理 localizedStringForKey:value:table:

    参考: 1,https://developer.apple.com/documentation/foundation/nsbundle/1417694-localizedstringforkey 2, ...

  7. TCO14286 TriangleTriples

    题目链接:https://vjudge.net/problem/TopCoder-14286 知识点: 组合数学.容斥原理 题目大意: 给出 \(A,B,C\),问有多少个有序三元组 \((a,b,c ...

  8. Gym101612L Little Difference

    题目链接:https://vjudge.net/problem/Gym-101612L 知识点: 数学 题目大意: 给一个数 \(n(1 \le n \le 10^{18})\),要求将 \(n\) ...

  9. GitHub 热点速览 Vol.21:Go 新手起手式,学就完事儿了

    作者:HelloGitHub-小鱼干 摘要:说到学习之道,方法很重要,好的学习方法能让你比他人更快地入门到精通,比如本周被 3k 多人 pick 的 learngo 项目,它收录了多个例子和练习,新手 ...

  10. iptables基本用法

    iptables选项参数 [root@test ~]# iptables --help -L #列出指定表所有链上的所有规则,本选项须置于-n选项后面 -n #以数字格式显示地址和端口号 -v #详细 ...