剪邮票
如图 有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);
}
}