标题:磁砖样式

小明家的一面装饰墙原来是 3*10 的小方格。
现在手头有一批刚好能盖住2个小方格的长方形瓷砖。
瓷砖只有两种颜色:黄色和橙色。
小明想知道,对于这么简陋的原料,可以贴出多少种不同的花样来。
小明有个小小的强迫症:忍受不了任何2*2的小格子是同一种颜色。
(瓷砖不能切割,不能重叠,也不能只铺一部分。另外,只考虑组合图案,请忽略瓷砖的拼缝)
显然,对于 2*3 个小格子来说,口算都可以知道:一共10种贴法,如【p1.png所示】
但对于 3*10 的格子呢?肯定是个不小的数目,请你利用计算机的威力算出该数字。

注意:你需要提交的是一个整数,不要填写任何多余的内容(比如:说明性文字)

思路还是DFS实现,没什么特别难的点,如果有错误,请指出。

package laoqiaobeijuesai;import java.util.HashSet;
import java.util.Set;public class 磁砖样式 {public static void main(String[] args) {// TODO Auto-generated method stub//答案是101466 需要去重int [] [] d =new int[3][l];run(d,0,0);System.out.println(sum);System.out.println(m.size());}static Set<String> m =new HashSet<String >();static int sum =0;static int l =10;public static void p(int [][] d){String a="";for(int i=0;i<3;i++){for(int j=0;j<l;j++){a+=d[i][j];}}m.add(a);}public static boolean cc( int [][] d, int x,int y){if(x>=1&&d[x][y]==d[x-1][y]){if(y>=1&&d[x][y-1]==d[x][y]&&d[x-1][y-1]==d[x][y]){return false;}if(y<l-1&&d[x][y+1]==d[x][y]&&d[x-1][y+1]==d[x][y]){return false;}}if(x<2&&d[x][y]==d[x+1][y]){if(y>=1&&d[x][y-1]==d[x][y]&&d[x+1][y-1]==d[x][y]){return false;}if(y<l-1&&d[x][y+1]==d[x][y]&&d[x+1][y+1]==d[x][y]){return false;}}return true;}public static void run(int [][] d, int x,int y){while(y>l-1||d[x][y]!=0){//y已经超出边界了  因为+1、2了//我就需要换行处理if(y<l&&d[x][y]!=0){y++;continue;}x=x+1;y=0;if(x>2){sum ++;p(d);System.out.println();return;}while(d[x][y]!=0){y++;if(y>l-1){break;}}}//竖着放一个11 或者22if(x<2){//11填充d[x][y]=1;d[x+1][y]=1;if(cc(d,x,y)&&cc(d,x+1,y)){//都能装的时候//指针右移run(d,x,y+1);}//22填充d[x][y]=2;d[x+1][y]=2;if(cc(d,x,y)&&cc(d,x+1,y)){//都能装的时候//指针右移run(d,x,y+1);}//回溯d[x][y]=0;d[x+1][y]=0;}//横着放一个11或者22if(y<l-1&&d[x][y+1]==0){//11填充d[x][y]=1;d[x][y+1]=1;if(cc(d,x,y)&&cc(d,x,y+1)){//都能装的时候//指针右移run(d,x,y+2);}//22填充d[x][y]=2;d[x][y+1]=2;if(cc(d,x,y)&&cc(d,x,y+1)){//都能装的时候//指针右移run(d,x,y+2);}//回溯d[x][y]=0;d[x][y+1]=0;}}}

2017第八届蓝桥杯决赛(大学B组)java试题 瓷砖样式相关推荐

  1. 记2017第八届蓝桥杯决赛(国赛)—北京三日游

    离蓝桥杯国赛结束也已经有很多天了,这段时间也一直没怎么做题,也好久没打开csdn了,今天又重新捡起来,所以来随意扯一下这次的北京三日游.......啊不,2017第八届蓝桥杯. 这已经是我第二次打蓝桥 ...

  2. 2017第八届蓝桥杯C/C++ B组省赛题解

    前言: 毕业前最后一次蹭一次公费旅游了.以前都是在成都,这次在绵阳,至少不用早起了.应该是最后一次玩蓝桥杯了. 尊重原创,转载请注明出处:http://blog.csdn.net/y119664537 ...

  3. 2017第八届蓝桥杯C/C++ B组参赛题解

    转载:http://blog.csdn.net/y1196645376/article/details/69718192 第一题 标题: 购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板 ...

  4. (转载)2017第八届蓝桥杯C/C++ B组省赛题解

    转载出处:http://blog.csdn.net/y1196645376/article/details/69718192 毕业前最后一次蹭一次公费旅游了.以前都是在成都,这次在绵阳,至少不用早起了 ...

  5. 2017第八届蓝桥杯C/C++ B组省赛 —— 第一题:购物单

    购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的. ...

  6. 2017第八届蓝桥杯C/C++ B组省赛

    第一题 标题: 购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞.这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有 ...

  7. 2017第八届蓝桥杯C/C++ B组省赛个人代码

    第一题 标题: 购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞.这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有 ...

  8. 2017蓝桥杯C/C++B组国赛-瓷砖样式

    题目 题目链接 题解 DFS. 方案需要满足的要求: 只能有黄和橙两种颜色: 必须填满: 任何一种颜色都不允许同时出现在 2 × 2 2×2 2×2 的方格中: 任意一种颜色图案都必须能由 2 × 1 ...

  9. 2017 蓝桥杯决赛 C++B(2)瓷砖样式 dfs + hash去重

    标题:磁砖样式 小明家的一面装饰墙原来是 3*10 的小方格. 现在手头有一批刚好能盖住2个小方格的长方形瓷砖. 瓷砖只有两种颜色:黄色和橙色. 小明想知道,对于这么简陋的原料,可以贴出多少种不同的花 ...

最新文章

  1. iOS开发UI篇—transframe属性(形变)
  2. mybatis整合ehcache
  3. 201671010128 2017-12-17《Java程序设计》之并发
  4. 第十五届全国大学生智能汽车竞赛华北赛区和西部赛区比赛成绩
  5. ajax请求_重复的ajax请求让人很受伤
  6. JVM实用参数(七)CMS收集器
  7. 成为人上人,而不是人上人永远的崇拜者
  8. 合并两个链表,去掉重复元素
  9. MVC 页面传参到另一个页面
  10. 【重难点】【Redis 02】Redis 的持久化、Redis 的主从复制和集群、哨兵
  11. 虚拟机Ubuntu20.04.2LTS卸载python3.8出现tty1-tty6循环登录,无法进入图形化界面,乱码(亲测)
  12. linux 远程链接数据库报错host *** is not allowed to connect to this mysql server
  13. python与室内设计_基于树莓派和Python的智能家居系统设计
  14. SAP License:煤化工行业名词MTOMTP
  15. x80hd装linux,台电X80HD:双系统切换的方法演示_台电 X80HD_平板电脑评测-中关村在线...
  16. [面试问答] 面试常问的40个问题 附带经典答案!
  17. 硬盘重新分区后数据丢失如何恢复?
  18. 计算的威力,智慧的传奇——Fabrice Bellard
  19. OpenGL照相机模型与增强现实
  20. 大学计算机基础b上机考试题目,大学计算机基础上机考试题库

热门文章

  1. 卷积、空洞卷积、反卷积与空洞反卷积的计算公式(全)
  2. CentOS报错:There are no enabled repos
  3. 3D游戏设计-天空盒
  4. GIS实验之制作核密度分析图
  5. [分享]浅谈分布式数据库
  6. Ayla CEO大卫.弗里德曼:你应该了解的五种物联网大数据!
  7. Adobe的后期摄影图片处理软件Photoshop Lightroom(Lr) 6.2版本下载与安装教程
  8. 用CSS设计艺术字集锦
  9. 按键精灵——电脑永不熄屏
  10. python对英语的要求_对英文【对英文英语头条】- 对英文知识点 - 中企动力