蓝桥杯第七届初赛试题 剪邮票
2017-03-29 21:23
204 查看
如【图1.jpg】, 有12张连在一起的12生肖的邮票。
现在你要从中剪下5张来,要求必须是连着的。
(仅仅连接一个角不算相连)
比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。
请你计算,一共有多少种不同的剪取方法。
请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
题目答案:
116
现在你要从中剪下5张来,要求必须是连着的。
(仅仅连接一个角不算相连)
比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。
请你计算,一共有多少种不同的剪取方法。
请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
题目答案:
116
#include<stdio.h> #include<string.h> bool b[5]; int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; int flag=1; int count=0; int position=0; void arrangement(int position,int k);//列出所有可能的组合数,用DFS的方法 bool check(int s,int t);//判断两点是否相连 void dfs(int a[],int w);//判断五个点是否连通 int main(){ arrangement(position,0); printf("%d",count); return 0; } void arrangement(int position ,int k) { int i; if(position==5) { memset(b,false,sizeof(b)); dfs(a,0); if(flag==5){ for(i=0;i<5;i++) printf("%d ",a[i]); printf("\n"); flag=1; count++ ; } else flag=1; } else{ for(i=k+1;i<=12;i++){ a[position]=i; arrangement(position+1,i); } } } void dfs(int a[],int w){ int i; b[w]=true; for(i=0;i<5;i++) if(check(a[w],a[i])&&!b[i]){ flag++; dfs(a,i); } } bool check(int s,int t){// 这个方法比较蠢,有更聪明的办法 if(s==1) {if(t==2||t==5) return true; else return false; } else if(s==2) {if(t==1||t==6||t==3) return true; else return false; } else if(s==3) {if(t==2||t==7||t==4) return true; else return false; } else if(s==4) {if(t==3||t==8) return true; else return false; } else if(s==5) {if(t==1||t==6||t==9) return true; else return false; } else if(s==6) {if(t==2||t==5||t==7||t==10) return true; else return false; } else if(s==7) {if(t==3||t==6||t==8||t==11) return true; else return false; } else if(s==8) {if(t==4||t==7||t==12) return true; else return false; } else if(s==9) {if(t==5||t==10) return true; else return false; } else if(s==10) {if(t==6||t==9||t==11) return true; else return false; } else if(s==11) {if(t==10||t==7||t==12) return true; else return false; } else if(s==12) {if(t==11||t==8) return true; else return false; } }
相关文章推荐
- 蓝桥杯 第七届省赛试题 剪邮票
- 第七届蓝桥杯B组试题(剪邮票)
- 第七届蓝桥杯【省赛试题7】剪邮票
- 第七届蓝桥杯【省赛试题7】剪邮票
- 2013蓝桥杯 【初赛试题】 马虎的算式
- 2012年蓝桥杯【初赛试题】 密码发生器
- 2012蓝桥杯【初赛试题】 巧排扑克牌
- 2014蓝桥杯B组初赛试题《切面条》
- 蓝桥杯 第七届省赛试题 生日蜡烛
- 第七届蓝桥杯【省赛试题1】煤球数目
- 2013蓝桥杯 【初赛试题】 带分数
- 2012 蓝桥杯【初赛试题】微生物增殖
- 2012 蓝桥杯【初赛试题】卖鸡蛋
- 2012蓝桥杯【初赛试题】古堡算式
- 蓝桥杯 第七届省赛试题 生日蜡烛
- 2011 蓝桥杯 购物计划 【初赛试题】
- 2014蓝桥杯B组初赛试题《切面条》
- 蓝桥杯-第七届Java语言B组-剪邮票
- 蓝桥杯 第七届省赛试题 凑算式
- 2016第七届蓝桥杯省赛C组试题及部分答案