欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

搭积木 小明最近喜欢搭数字积木, 一共有10块积木,每个积木上有一个数字,0~9。 搭积木规则: 每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。 最后搭成4层的金字塔形,必须用

程序员文章站 2022-03-05 10:57:17
...

搭积木

小明最近喜欢搭数字积木,
一共有10块积木,每个积木上有一个数字,0~9。

搭积木规则:
每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。
最后搭成4层的金字塔形,必须用完所有的积木。

下面是两种合格的搭法:

0
1 2
3 4 5
6 7 8 9

0
3 1
7 5 2
9 8 6 4

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

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

package seven;

public class 搭积木 {
	static Boolean pd(int a,int b) {
		if(b>a)
		return false;
		else
		return true;
		
	}
public static void main(String[] args) {
int l=0;
	for(int a=0;a<=9;a++) {
		for(int b=0;b<=9;b++) {
			if(b==a&&a<b)	continue;
			if(pd(a,b))continue;
			for(int c=0;c<=9;c++) {
				if(c==a||c==b)	continue;
				if(pd(a,c))	continue;
				for(int d=0;d<=9;d++) {
					if(d==a||d==b||d==c)	continue;
					if(pd(b,d))	continue;
					for(int e=0;e<=9;e++) {
						if(e==a||e==b||e==c||e==d)	continue;
						if(pd(b,e))	continue;
						if(pd(c,e))continue;
						for(int f=0;f<=9;f++) {
							if(f==a||f==b||f==c||f==d||f==e)	continue;
							if(pd(c,f))	continue;
							for(int g=0;g<=9;g++) {
								if(g==a||g==b||g==c||g==d||g==e||g==f)	continue;
								if(pd(d,g))	continue;
								for(int h=0;h<=9;h++) {
									if(h==a||h==b||h==c||h==d||h==e||h==f||h==g)	continue;
									if(pd(d,h))	continue;
									if(pd(e,h))continue;
									for(int i=0;i<=9;i++) {
										if(i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h)	continue;
										if(pd(e,i))	continue;
										for(int j=0;j<=9;j++) {
											if(j==a||j==b||j==c||j==d||j==e||j==f||j==g||j==h||j==i)	continue;
											if(pd(f,i))	continue;
											if(pd(f,j))continue;
										l++;
										
										
}}}}}}}}}}
	System.out.println(l);
}}

相关标签: 蓝桥杯 蓝桥杯