【题目大意】

有许多木块, 叠放时, 必须正着叠放, 如图1, 左边两块为合法叠放, 右边为不合法叠放.

图1

一个方块被称为稳定的, 当且仅当其放在最底层, 或其正下方有方块且下方的这个方块的四周都有方块. 叠放必须保证所有方块都稳定. 如图2, 左边3个叠放为合法叠放, 右边2个叠放为不合法叠放.

给定一个n,求能叠出的最高稳定建筑的高度

n<=

【解题】考虑每一种高度,至少需要多少个方块,我们计算出这些值,随便维护一下就好了呀qwq

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define FO(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout)
long long f,sum;
int n;
int main(){FO(block);scanf("%d",&n);f=sum=1;if(sum>=n){puts("1");return 0;} for(int i=2;;i++){f=f+(i-1)*4;sum=sum+f;if(sum>=n){cout<<i-(sum!=n); return 0;} }
}

T2 hanoi

【题目大意】

汉诺塔游戏众所皆知, 现在制定一个如下新的汉诺塔游戏规则:

共ABC三柱, 起初所有的盘子按从上到下从小到大的顺序排列在A柱, 移动规则依然是只能移动最顶端的盘子, 且一个盘子只能放在更大的盘子上方. 现增加一个规则, 同一个盘子不能被连续移动两次. 现有序列{AB, AC, BA, BC, CA, CB}(AB即表示将A的最上方的盘子移到B)的任一排序, 每次移动必须是在该序列中找到最早的一个合法的操作, 并移动. .(全部移动到BC任意一个柱子上即视为游戏结束.)

第一行输入一个整数n(n<=20),第二行输入一个操作序列,形同AB, AC, BA, BC, CA, CB

求游戏结束时所用操作数

【解题】

由于第二行的输入只有 6!种 ,可以大胆猜测所有n对于这6!种操作序列的答案是有规律的,发现n=3的时候答案只有三种,那么我们对于操作序列暴力跑一下n=3的情况,判断这个操作序列的答案属于哪一种,直接计算即可

#include<queue>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define FO(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout)
char mov[7][2];
typedef long long ll;
ll cnt;bool ok;int n;
int top[3],qu[3][23333];
void dfs(int lst,int dep){if(dep>=cnt)return;if(!top[0]&&(!top[1]||!top[2])){ok=1;return;}for(int i=0;i<6;i++){int a=mov[i][0]-'A',b=mov[i][1]-'A';if(!top[a]||a==lst) continue;int t=qu[a][top[a]];if(top[b]&&t>qu[b][top[b]]) continue;--top[a];qu[b][++top[b]]=t;dfs(b,dep+1); --top[b];if(ok) return;qu[a][++top[a]]=t;break;}
}
int luangao(){ok=0; top[0]=top[1]=top[2]=cnt=0;for(int i=3;i>=1;i--) qu[0][++top[0]]=i;do{dfs(-1,0);++cnt;if(cnt>1000) break;}while(!ok);int P=cnt-2;return P;
}
void c233(){ll x=2;for(int i=2;i<=n;i++) x=x*3;cout<<x-1;
}
void pow2(){ll x=1;for(int i=1;i<=n;i++) x=x*2;cout<<x-1;
}
void pow3(){ll x=1;for(int i=2;i<=n;i++) x=x*3;cout<<x;
}
int main(){FO(hanoi);//6*???*2^??? scanf("%d",&n);for(int i=0;i<6;i++)scanf("%s",mov[i]);int ans3=luangao();if(ans3==17)c233();else if(ans3==7)pow2();else if(ans3==9)pow3();else cout<<"规律不对啊 日";     }

转载于:https://www.cnblogs.com/chouti/p/5721750.html

20160722noip模拟赛alexandrali相关推荐

  1. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  2. 2017.6.11 校内模拟赛

    题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...

  3. 2020年蓝桥杯模拟赛2020.3.25直播笔记

    2020年蓝桥杯模拟赛解题报告(CPP版本) 第八题 长草的bfs写法[我想暴力模拟O kmn] 深搜会爆 bfs像投到水里的涟漪 问题: const int dx[] = {1, 0, -1, 0} ...

  4. 2021年 第12届 蓝桥杯 第4次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  5. 2021年 第12届 蓝桥杯 第3次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  6. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】

    蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载[2013年(第4届)~2021年(第12届)] 百度网盘-CSDN蓝桥杯资料(真题PDF+其它资料)   提取码:6666 2013年 ...

  7. 2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  8. 10.30 NFLS-NOIP模拟赛 解题报告

    总结:今天去了NOIP模拟赛,其实是几道USACO的经典的题目,第一题和最后一题都有思路,第二题是我一开始写了个spfa,写了一半中途发现应该是矩阵乘法,然后没做完,然后就没有然后了!第二题的暴力都没 ...

  9. 模拟赛-20190114-新魔法(distance)

    前言 第一篇模拟赛题思路总结 题目相关 题目链接 题目大意 给定一个长度为nnn序列,每一个位置iii都有一种颜色aia_iai​ 现在有mmm次操作,操作分两种: 第一种操作,将所有颜色xxx都替换 ...

最新文章

  1. 技术战“疫”,贾扬清、李飞飞要给程序员直播讲AI技术!
  2. 七丶青龙nvjdc部署教程+短信验证登录对接傻妞
  3. vue created 调用方法_深入解析 Vue 的热更新原理,偷学尤大的秘籍?
  4. 纪念品分组pascal程序
  5. 在ubuntu16.04上安装java和elastic search
  6. 中断linux命令快捷键_实用!快速操作Linux终端命令行的快捷键
  7. 云图说 | 3分钟创建一个游戏类工作负载
  8. gini系数 决策树_决策树系列--ID3、C4.5、CART
  9. android 8.0 悬浮窗 最简demo
  10. 正则 文字输入不超过5个汉字或者10个字符
  11. 如何使用Secure CRT连接到华三模拟器上和华为模拟器上(更新模拟器版本,SecureCRT版本)
  12. 编写一个程序求解字谜游戏
  13. Easyx-----c语言实现图形化打砖块
  14. Jetpack Compose - CircularProgressIndicator、LinearProgressIndicator
  15. 数据分析小项目01 __《少年的你》豆瓣短评__V1.0
  16. python调用图灵机器人实现微信公众号的自动回复功能
  17. 8086/8088 CPU寄存器组
  18. Linux环境变量和命令行参数
  19. html 加载pdf文件内容不显示不出来,pdf.js首次加载pdf文件时找不到pdf文件,刷新后才能出现pdf文件...
  20. eclipse和数据库实现学生成绩查询系统web界面

热门文章

  1. 你不应该关注区块链的“杀手级应用”
  2. 在7分钟内深刻理解咖喱
  3. 博客 rss 如何使用_如何使用RSS从您的GatsbyJS博客自动交叉发布
  4. guice google_与Google Guice的动手实践
  5. 头条小视频和西瓜视频signature签名算法
  6. 逻辑覆盖测试(四)判定/条件覆盖
  7. 1099 Build A Binary Search Tree
  8. Sublime Text保存文件时自动去掉行末空格
  9. ps aux|grep
  10. java 基础知识三 java变量