当前位置: 首页 > news >正文

恐怖网站代码作文大全网站

恐怖网站代码,作文大全网站,做电影网站的图片素材,wordpress5.0发布原本以为是一道很简单的模拟题#xff0c;结果写了一个小时。。。很长时间不碰算法题#xff0c;的确手感差很多。不过我觉得随着刷题慢慢多起来应该会好的。 题目的意思也有点含糊#xff0c;需要自己去猜#xff0c;大概意思就是槽里有一堆木头#xff0c;每个槽刚开始…原本以为是一道很简单的模拟题结果写了一个小时。。。很长时间不碰算法题的确手感差很多。不过我觉得随着刷题慢慢多起来应该会好的。 题目的意思也有点含糊需要自己去猜大概意思就是槽里有一堆木头每个槽刚开始的时候只有一个需要移过来移过去有四种方式这四种方式都是针对木头而言的因此我们必须时刻记录每个木头的位置。当然还需要数据结构记录槽的状态最后需要输出。 四种移动方式有一些是共通的因此需要将其抽象成函数我这里抽象了三个函数 void ret_block(int x);将木头x头顶的木头归还到原本的槽里面i号木头到i号槽 void mve(int x, int idx);将木头x移动到槽idx的位置之所以不叫move是因为不想和标准库的move函数冲突 void pile(int x, int idx);将木头x以及其头顶的所有木头移动到槽idx 虽然使用三个函数简化了四种操作但是我觉得自己分离的不够清晰按道理讲pile函数应该调用mve函数因为一个是移动一个木头一个是移动一堆木头可是因为使用的是vector导致无法随机插入。 顺带吐槽一下我为了控制不输出最后的换行专门写了一个Newline函数类但是直接报错。。有的OJ要求不能有有的又要求必须有。。 看了一下别人的题解有两点收获 不用判断整个字符串再确定是什么命令判断一下首字母就可以了可以使用erase函数整块删除。自己就是因为不知道这个函数写的比较复杂还是要对STL更加熟悉才行 再研究了一下书上的题解发现果然pile函数可以和move函数合并而且可是使用resize函数进行删除。 对于这种多种指令的我们要提取出指令之间的共同点编写函数以减少重复代码。 #include iostream #include vector #include string #include arrayusing namespace std;namespace {const string QUIT quit;const string MOVE move;const string ONTO onto;const string OVER over;const string PILE pile;constexpr int MAXN 25 5;arrayvectorint, MAXN blocks;arraypairint, int, MAXN pos;int n; }void init() {cin n;for (int i 0; i n; i) {blocks[i].push_back(i);pos[i] {i, 0};} }void mve(int x, int idx) {blocks[idx].push_back(x);blocks[pos[x].first].pop_back();pos[x].first idx;pos[x].second blocks[idx].size() - 1; }void pile(int x, int idx) {auto block_x blocks[pos[x].first];auto block_dst blocks[idx];int origin_pos pos[x].second;int y;for (int i origin_pos; i block_x.size(); i) {y block_x[i];block_dst.push_back(y);pos[y].first idx;pos[y].second block_dst.size() - 1;}for (int i block_x.size() - 1; i origin_pos; --i) block_x.pop_back(); }void ret_block(int x) {//return blocks that are stacked on top of xauto block_x blocks[pos[x].first];int y;for (int i block_x.size() - 1; i pos[x].second; --i) {y block_x.back();mve(y, y);} }void work() {int x, y;string action, prep;while (cin action) {if (action QUIT) break;cin x prep y;if (pos[x].first pos[y].first) continue;if (action MOVE) {if (prep ONTO) {//move x onto yret_block(x);ret_block(y);mve(x, pos[y].first);} else {ret_block(x);mve(x, pos[y].first);}} else {if (prep ONTO) {ret_block(y);pile(x, pos[y].first);} else {pile(x, pos[y].first);}}} }class Newline {bool first; public:Newline(bool _fisrt true):first(_fisrt) {}inline void operator ()(); };inline void Newline::operator()() {if (first) {first false;} else {cout \n;} }void print() {Newline newline;for (int i 0; i n; i) {//newline();cout i :;for (auto x : blocks[i]) {cout x;}cout \n;} }int main() {ios::sync_with_stdio(false);init();work();print(); }
http://www.pierceye.com/news/41756/

相关文章:

  • 常州做网上废品收购网站wordpress 游戏 模板下载地址
  • 怎么做审核网站搜索引擎优化至少包括哪几步
  • 专业的网站建设找聚爱高价词网站源码
  • 前端开发就是做网站吗免费服务器试用
  • 三只松鼠网站谁做的怎么做微商的微网站
  • 网站建设销售方面会遇到的问题小学做试题网站
  • 医疗保险网站开通建设备案时的网站名称
  • 具有价值的常州做网站微信商城app
  • 网站开发框架具体使用方法wordpress图片添加音乐
  • 网站做的不好会有什么后果深圳建筑工程公司招聘
  • 廊坊模板建站代理小程序游戏排行榜2023
  • 田阳县建设局网站稳定的网站制作需要多少钱
  • 青海建设厅官方网站河南免费网站建设公司推荐
  • 山西国人伟业网站cms的功能有哪些
  • 套用网站模板怎么让自己的网站被百度收录
  • 电力建设规范下载网站WordPress页面登录才能看
  • 网站开发涉及到缓存吗重庆营销网站
  • 烟台h5响应式网站建设哈尔滨网站基础优化
  • 网站设计公司排名知乎阿里云如何搭建网站
  • 做视频网站 带宽多少才合适简单网站制作成品
  • 优质的聊城做网站正规的彩票网站怎么做
  • jquery 炫酷网站深圳系统app开发
  • 稳定网站服务器租用wordpress 安装主体
  • 作风建设年 网站北京商城开发
  • 做网站那家比较好seo入门教程视频
  • 泉州关键词排名seo软件简单易排名稳定
  • 设计网站大全下载网站建设分录
  • 娄底市住房和城乡建设局网站哪里不好就去建设
  • 创立制作网站公司自助网站建设程序
  • 有做网站赚钱的吗网站建设方案规划书