java 搭积木
搭积木
小明最近喜欢搭数字积木,
一共有10块积木,每个积木上有一个数字,0~9。
搭积木规则:
每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。
最后搭成4层的金字塔形,必须用完所有的积木。
下面是两种合格的搭法:
0
1 2
3 4 5
6 7 8 9
0
3 1
7 5 2
9 8 6 4
请你计算这样的搭法一共有多少种?
dfs,稳的
public class Main {
		static int[] a = new int[10];
		static boolean[] b = new boolean[10];
		static int num = 0;
	    public static void main(String[] args) {
	    	dfs(1);
	    	System.out.print(num);
	    }
	    public static void dfs(int n) {
	    	if(n == 10) {						//当赋值完第9个数,n等于10,开始判定
	    		if(a[9] > a[5] && a[8] > a[5] &&
	    				a[8] > a[4] && a[7] > a[4] &&
	    				a[7] > a[3] && a[6] > a[3] &&
	    				a[5] > a[2] && a[4] > a[2] &&
	    				a[4] > a[1] && a[3] > a[1] &&
	    				a[2] > a[0] && a[1] > a[0] )
	    			num ++ ;
	    		return ;
	    	}
	    	for(int i = 1; i < 10; i++) {		//核心,a[0]一定是0,所以从第二个数开始破
	    		if(b[i]== false) {
	    			b[i] = true;
	    			a[n] = i;
	    			dfs(n+1);
	    			b[i] = false;
	    		}
	    	}
	    }
	}
												
											java 搭积木的更多相关文章
- 蓝桥杯-搭积木-java
		
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
 - 搭积木(java)-蓝桥杯
		
搭积木小明最近喜欢搭数字积木,一共有10块积木,每个积木上有一个数字,0~9.搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小.最后搭成4层的金字塔形,必须用完所有的积木.下 ...
 - java实现第七届蓝桥杯搭积木
		
搭积木 题目描述 小明最近喜欢搭数字积木, 一共有10块积木,每个积木上有一个数字,0~9. 搭积木规则: 每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小. 最后搭成4层的金字塔形,必 ...
 - Android_就像小朋友“搭积木”一样。
		
就像小朋友“搭积木”一样.感觉这句话很有意思.完整的话是这样的: Android提供了大量功能丰富的UI组件,开发者只要按一定规律把这些UI组件组合起来 --就像小朋友“搭积木”一样,把这些UI组件搭 ...
 - Leo 搭积木
		
Leo 搭积木[问题描述]Leo是一个快乐的火星人,总是能和地球上的 OIers玩得很 high.2012 到了, Leo 又被召回火星了,在火星上没人陪他玩了,但是他有好多好多积木,于是他开始搭积木 ...
 - XJOI1657&Codevs1255搭积木【树状动规】
		
搭积木 一种积木搭建方式,高为H的积木,最底层有M个积木,每一层的积木数是他的低一层的积木数+1或-1.总共有N个积木.(且每行积木数不超过10)比如上图N=13 H=6 M=2. 输入格式: 第一行 ...
 - codevs 3249 搭积木
		
提交地址:http://codevs.cn/problem/3249/ 3249 搭积木 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目 ...
 - [Luogu 2816]宋荣子搭积木
		
Description saruka非常喜欢搭积木,他一共有n块积木.而且saruka的积木很特殊,只能一块块的竖着摞,可以摞很多列.说过saruka的是特殊的积木了,这些积木都非常智能,第i块积木有 ...
 - 搭积木(block)
		
[问题描述]小 OY 是一个喜欢搭积木的孩子,他有一天决定向小 C 展示他特别的搭积木技巧.现在一条直线上从左到右有 n 个位置,标号 1..n,第 i 个位置坐标为 x_i.每个位置上都预先叠好了一 ...
 
随机推荐
- [运维] 如何访问虚拟机上的 Tomcat ?
			
环境: 虚拟机: VMware 15 pro 操作系统 Linux CentOS 7 64 物理机: Windows 7 事先准备: 1: 下载 Tomcat 的压缩包 apache-t ...
 - SearchRequest用于与搜索文档、聚合、定制查询有关的任何操作
			
SearchRequest用于与搜索文档.聚合.定制查询有关的任何操作,还提供了在查询结果的基于上,对于匹配的关键词进行突出显示的方法. 1,首先创建搜索请求对象:SearchRequest sear ...
 - 【K-means算法】matlab代码实例学习
			
1. MATLAB函数Kmeans 使用方法:Idx=Kmeans(X,K)[Idx,C]=Kmeans(X,K) [Idx,C,sumD]=Kmeans(X,K) [Idx,C,sumD,D]=Km ...
 - 刷题62. Unique Paths
			
一.题目说明 题目62. Unique Paths,在一个m*n矩阵中,求从左上角Start到右下角Finish所有路径.其中每次只能向下.向右移动.难度是Medium! 二.我的解答 这个题目读读题 ...
 - Android的界面组件使用之ImageButton和ImageView,ImageSwitcher和GridView
			
(一)ImageButton和ImageView ImageButton与Button的功能完全相同,只是ImageButton上显示的是图像,并且每个ImageButton组件都必须指定一个id,以 ...
 - Python - 代码片段,Snippets,Gist
			
说明 代码片段来自网上搬运的或者自己写的 华氏温度转摄氏温度 f = float(input('请输入华氏温度: ')) c = (f - 32) / 1.8 print('%.1f华氏度 = %.1 ...
 - 计算机网络历史与基本概念&分层与参考模型(TCP/IP与OSI)&通信过程
			
Definition: 计算机网络:使用单一技术相互连接的自主计算机的互联集合. 单台计算机独立自主(不受制于其他计算机),连接介质可以使光纤.铜线也可以是微波.红外.卫星. 互联网络(Interne ...
 - 关于程序状态字寄存器PSW(Program Status Word)与多核多线程
			
内核态(Kernel Mode)与用户态(User Mode) CPU通常有两种工作模式即:内核态和用户态,而在PSW中有一个二进制位控制这两种模式. 内核态:当CPU运行在内核态时,程序可以访问所有 ...
 - HTML5模板引擎 Thymeleaf 教程(转)
			
原文:http://www.open-open.com/lib/view/open1383622135586.html Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非 ...
 - rarlinux安装和使用
			
rarlinux安装和使用