蓝桥杯第七届省赛JAVA真题----剪邮票

剪邮票
如【图1.jpg】, 有12张连在一起的12生肖的邮票
现在你要从中剪下5张来,要求必须是连着的
(仅仅连接一个角不算相连)
比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取
请你计算,一共有多少种不同的剪取方法
请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
图1:
蓝桥杯第七届省赛JAVA真题----剪邮票
图2:
蓝桥杯第七届省赛JAVA真题----剪邮票
图3:
蓝桥杯第七届省赛JAVA真题----剪邮票
答案:116
主要思想就是在12个数中选出5个数,判断选出的5个数是否连通,判断联通的过程其实是深度优先的过程,如果a%4==b%4且a和b相差4,则是在同一列,符合条件,若a%4!=b%4且两者相差1,但4和5、8和9除外,则是在同一行,符合条件。
完整代码:
蓝桥杯第七届省赛JAVA真题----剪邮票

蓝桥杯第七届省赛JAVA真题----剪邮票