剪邮票
如图 有12张连在一起的12生肖的邮票。
现在你要从中剪下5张来,要求必须是连着的。 (仅仅连接一个角不算相连) 。
比如下图中,粉红色所示部分就是合格的剪取。
请你计算,一共有多少种不同的剪取方法。
请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:
116
import java.math.*; public class Main { public static int Test(int a,int b) { int[] x={1,2,3,4,6,7,8,9,11,12,13,14}; if(Math.abs(x[a]-x[b])==1||Math.abs(x[a]-x[b])==5) { return 1; } else return 0; } public static void main(String[] args){ int sum=0; for(int a=0;a<8;a++) { for(int b=a+1;b<9;b++) { for(int c=b+1;c<10;c++) { for(int d=c+1;d<11;d++) { for(int e=d+1;e<12;e++) { if(Test(a,b)+Test(a,c)+Test(a,d)+Test(a,e)>=1) { if(Test(a,b)+Test(b,c)+Test(b,d)+Test(b,e)>=1) { if(Test(c,a)+Test(c,b)+Test(c,d)+Test(c,e)>=1) { if(Test(d,a)+Test(d,b)+Test(d,c)+Test(d,e)>=1) { if(Test(e,a)+Test(e,b)+Test(e,c)+Test(e,d)>=1) { if(Test(a,b)+Test(a,c)+Test(a,d)+Test(a,e)+Test(b,c)+Test(b,d)+Test(b,e)+Test(c,d)+Test(c,e)+Test(d,e)>=4) sum++; } } } } } } } } } } System.out.println(sum); } }