蓝桥杯国赛2017瓷砖样式
现在手头有一批刚好能盖住2个小方格的长方形瓷砖。
瓷砖只有两种颜色:黄色和橙色。
小明想知道,对于这么简陋的原料,可以贴出多少种不同的花样来。
小明有个小小的强迫症:忍受不了任何2*2的小格子是同一种颜色。
(瓷砖不能切割,不能重叠,也不能只铺一部分。另外,只考虑组合图案,请忽略瓷砖的拼缝)
显然,对于 2*3 个小格子来说,口算都可以知道:一共10种贴法,如【p1.png所示】
但对于 3*10 的格子呢?肯定是个不小的数目,请你利用计算机的威力算出该数字。
注意:你需要提交的是一个整数,不要填写任何多余的内容(比如:说明性文字)
#include<stdio.h>
#include<string.h>
#include<set>
#define max(a,b) (a>b?a:b)
#define INF 0x3f3f3f3f
using namespace std;
int map[5][15];
set<int> s;
bool judge() {int sum;for(int i=0;i<=1;i++) {for(int j=0;j<=8;j++) {sum = map[i][j]+map[i+1][j] + map[i][j+1] + map[i+1][j+1];if(sum%4==0) return false;}}return true;
}
int getfeature() {int sum=0;for(int i=0;i<=2;i++) {for(int j=0;j<=9;j++) {sum <<= 1;sum += map[i][j];}}return sum;
}
void dfs(int x,int y) {if(x==3) {if(judge()) {int feature = getfeature();//printf("%d\n",feature);s.insert(feature);}return;}if(y==10) {dfs(x+1,0);return ;}if(map[x][y]!=-1) {dfs(x,y+1);return; }else {if(y+1<10&&(map[x][y+1]==-1)){map[x][y] = 0;map[x][y+1] = 0;dfs(x,y+2);map[x][y] = 1;map[x][y+1] = 1;dfs(x,y+2);map[x][y] = -1;map[x][y+1] = -1;}if(x+1<3&&(map[x+1][y]==-1)) {map[x][y] = 0;map[x+1][y] = 0;dfs(x,y+1);map[x][y] = 1;map[x+1][y] = 1;dfs(x,y+1);map[x][y] = -1;map[x+1][y] = -1;}}}
int main() {memset(map,-1,sizeof(map));dfs(0,0);printf("%d",s.size());
}
蓝桥杯国赛2017瓷砖样式相关推荐
- 蓝桥杯国赛8-JavaA-2-瓷砖样式
import java.util.HashMap;/** 小明家的一面装饰墙原来是 3*10 的小方格. 现在手头有一批刚好能盖住2个小方格的长方形瓷砖. 瓷砖只有两种颜色:黄色和橙色.小明想知道,对 ...
- 蓝桥杯国赛 C/C++ ABC组题解(第四届 ~ 第十二届)
2020年第十一届蓝桥杯国赛 题号 类型 C++ A组 C++ B组 C++ C组 试题A 结果填空 合数个数 美丽的 2 美丽的 2 试题B 结果填空 含 2 天数 (日期处理) 扩散 (BFS) ...
- 蓝桥杯国赛C++A组B组题解整理(第八、七、六、五、四届)
[写在前面的话19.04.04] 今年省赛的结果出的意外得快,有很多小伙伴来和我分享他们进了省一的喜悦,并问我啥时候更新国赛题解,emmm--不是我不想更新,实在是抽不出时间,有缘再更--虽然不更新题 ...
- 49-2017年第八届蓝桥杯国赛试题及详解(Java本科B组)
蓝桥杯历年真题题目及题解目录汇总(推荐) 蓝桥杯算法模板常用套路及API等个人总结 ---------------------------------------------------------- ...
- 蓝桥杯国赛知识点汇总
蓝桥杯国赛备赛总结知识点,以老师给的为原型,添加自己理解,供大家参考,后期不定时更新. 基础 1.熟练掌握API1.8常用方法 2.大数(高精度)加减乘除 3.并查集 模板: public class ...
- 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑
题目链接 Ideas 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑 Code Python if __name__ == '__main__':n = int(input( ...
- 2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数
2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数 在线评测 Ideas 对于一个纯循环小数,假设循环节为l,则小数为0.llll-,转换为分数就是 l / (10 ** n ...
- 蓝桥杯评分标准_新闻 | 人工智能学院创新创业实践中心开展蓝桥杯国赛经验分享会...
为让各位蓝桥杯国赛选手以饱满精力迎接接下来的比赛,天津科技大学人工智能学院创新创业实践中心邀请到计算机科学与技术专业教研室主任吴江红老师为各位蓝桥杯国赛选手分享经验,提高选手们的应试应赛能力. 吴江红 ...
- 第十一届蓝桥杯国赛题目
以下是第十一届蓝桥杯国赛题目,供大家学习参考(提取码失效可以评论我) 百度云: 链接: https://pan.baidu.com/s/1g1o-px-RUVoXLLhRDS8cXQ 提取码: fgf ...
最新文章
- IoT勒索软件会演化为劫持软件
- 服务器系统linux怎么安装教程,CentOS 8.0.1905 linux服务器系统安装与配置图解教程...
- Java多线程-synchronized关键字
- POJ - 1655 Balancing Act(树的重心)
- xss challenge 解题思路(1-3)
- Java 数组常用操作二(扩充、扩容、重复数据、动态数组、数组差集、数组交集、查找指定元素、判断是否相同、数组合并)
- BZOJ1862: [Zjoi2006]GameZ游戏排名系统
- Axure RPO_ 8 下载安装教程
- efucms搭建教程_EFUCMS E16小说漫画系统源码 最新完美UI设计漫画/听书直播源码程序...
- 两年工作经验,三面拼多多,最终获得offer!(面经总结)
- Salesforce基础名词
- 【Unity优化篇】| Unity3D场景 常用优化策略,遮挡剔除、层消隐距离技术 和 LOD多层次细节
- wampServer:橙色变绿色
- python 3.x语句print_Python 3.x语句print(1,2,3,sep=’.’)
- Tagtraum.Industries.beaTunes.v3.5.7.Incl.Keygen-NOY
- html项目的致谢词,论文致谢词(精选10篇)
- IDEA 2019注册码(激活码)
- 七日杀服务器怎么修改天数,七日杀调整游戏天数 | 手游网游页游攻略大全
- Android 语言国际化
- 隐私计算头条周刊(11.27-12.3)