10月3日,在杭州市西湖景区,一只小松鼠不停地接受一道道食物,花生、
玉米、饼干,可谓来者不拒,憨态可掬的模样吸引了众多围观者...
Description  
 小松鼠开心地在树之间跳跃着,突然她停了下来。因为眼前出现了一个
拿着专克超萌小松鼠的法宝————超萌游戏机的游客!
 超萌游戏机之所以拥有这个名字,是因为它的屏幕是一个n × 2的矩形。
小松鼠接过游戏机,开始了她的第一个游戏:俄罗斯方块。
 考虑到小松鼠的智商,游戏机里的方块只有下面四种,方块按顺序下落,

(Linux太垃圾了,不带画图)
可以在任意时刻(甚至是下落前)对其进行不限次数的旋转操作。
 由于四种方块最小宽度都为2,因此下落的时候在水平方向上是不能够移
动的。我们称当前方块下落的过程完成了,当且仅当其再往下移动一个单
位就会与之前覆盖的方块有部分相重叠。小松鼠想要知道,在这个n × 2的
游戏界面中,一共会出现多少种游戏状态。游戏状态指单次方块下落的过
程完成后,不要求游戏结束(即不要求第1行非空),且界面中出现的必须
是完整的方块。


 两种游戏状态被认为是相同的,当且仅当游戏界面中的每一个格子两种
状态下被覆盖的方块类型都相同(或都不被覆盖) 。
 如下图属于两种不同的游戏状态
 再次考虑到小松鼠的智商,答案模10 9 + 7 输出。
Input  
 一行一个数n,表示游戏界面的长度。
Output  
 一个数,表示游戏界面的状态数在模10 9 + 7意义下的值。
Constraints  
 对于前10%,n <= 10。
 对于前30%,n <= 1000。
 对于前60%,n <= 100000。
 对于100%,n <= 1000000。
 人生不能失去信仰,数据有梯度。

f[i][0]表示第i行2列都满了

f[i][1]表示第i行第1列为空

f[i][2]表示第i行第2列为空

f[i][3]表示第i,i-1行第一列都为空

f[i][4]表示第i,i-1行第二列都为空

f[i][5]表示第i行为空

记住:方块只能旋转,未填满也算方案

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
long long f[][];
int n;
int Mod=;
int main()
{int i,j;
cin>>n;
f[][]=;
for (i=;i<=n;i++)
{
if (i>=)
f[i][]+=f[i-][]+f[i-][]+f[i-][]+f[i-][]+f[i-][];
f[i][]%=Mod;
if (i>=)
f[i][]+=f[i-][]+f[i-][]+f[i-][]+f[i-][]+f[i-][],
f[i][]+=f[i-][]+f[i-][]+f[i-][]+f[i-][]+f[i-][];
f[i][]%=Mod;
f[i][]%=Mod;
if (i>=)
f[i][]+=f[i-][]+f[i-][]+f[i-][]+f[i-][]+f[i-][];
// f[i][2]+=f[i-2][2]+f[i-2][4]+f[i-3][0]+f[i-3][1]+f[i-3][3];
f[i][]%=Mod;f[i][]%=Mod;
if (i>=)
f[i][]+=f[i-][]+f[i-][]+f[i-][]+f[i-][]+f[i-][],
//f[i][4]+=f[i-3][0]+f[i-3][1]+f[i-3][2]+f[i-3][3]+f[i-3][4],
f[i][]+=f[i-][]+f[i-][]+f[i-][]+f[i-][]+f[i-][];
f[i][]=f[i-][]+f[i-][]+f[i-][]+f[i-][]+f[i-][]+f[i-][];
f[i][]%=Mod;f[i][]%=Mod;f[i][]%=Mod;f[i][]%=Mod;
}
//cout<<f[4][5]<<endl;
//printf("%d %d %d %d %d\n",f[n][5],f[n][4],f[n][3],f[n][2],f[n][1],f[n][0]);
cout<<((f[n][]+f[n][])%Mod+(f[n][]+f[n][])%Mod+(f[n][]+f[n][])%Mod)%Mod;
}

StopAllSounds的更多相关文章

  1. [模拟赛] StopAllSounds

    Description 小松鼠开心地在树之间跳跃着,突然她停了下来.因为眼前出现了一个 拿着专克超萌小松鼠的法宝----超萌游戏机的游客! 超萌游戏机之所以拥有这个名字,是因为它的屏幕是一个n × 2 ...

  2. DBus学习笔记

    摘要:DBus作为一个轻量级的IPC被越来越多的平台接受,在MeeGo中DBus也是主要的进程间通信方式,这个笔记将从基本概念开始记录笔者学习DBus的过程 [1] DBus学习笔记一:DBus学习的 ...

  3. 游戏编程模式 Game Programming Patterns (Robert Nystrom 著)

    第1篇 概述 第1章 架构,性能和游戏 (已看) 第2篇 再探设计模式 第2章 命令模式 (已看) 第3章 享元模式 (已看) 第4章 观察者模式 (已看) 第5章 原型模式 (已看) 第6章 单例模 ...

  4. NOIP2016 “西湖边超萌小松鼠” 模拟赛

    总的来说,这套题的难度比较接近近些年来Day1的真实难度,认为非常值得一打 GotoAndPlay 题目大意 询问这个图上是否存在一种跳法,能跳到这个图上的每一个点 题目解析 犯了个低级错误,双向边忘 ...

  5. [翻译] SoundManager 音频管理器

    SoundManager 音频管理器 https://github.com/nicklockwood/SoundManager Purpose SoundManager is a simple cla ...

  6. FLASH动作脚本详解

    FLASH动作脚本详解 一.FLASH脚本基础入门讲解 二.按钮AS的编写 三.影片剪辑的AS编写 四.动态文本框 五.影片剪辑的拖拽 六.流程控制与循环语句 七.绘图及颜色的AS的编写 八.声音 A ...

  7. flash代码

    Flash常用的动作命令一.Flash中的常用命令:1.在当前帧停止播放 on(release){ stop();} 2.从当前帧开始播放 on(release){ play();} 3.跳到第 10 ...

  8. 16_游戏编程模式ServiceLocator 服务定位

    ####简单说,就是某个系统作为一个服务,对全局系统可见. Service Locator (服务定位) ``` //简单粗暴的代码, 使用声音系统 // Use a static class? Au ...

  9. flash逆向练习:以逆向的方式通关flash游戏《谈判专家》

    一.缘起 无聊想玩搜个游戏玩,看到一个帖子引起了我的好奇: 但是作者分享的游戏链接已经挂掉了,于是就搜索了一下: 选了7k7k上的一个在线玩,链接:http://www.7k7k.com/swf/15 ...

随机推荐

  1. sys模块的使用

    import sys,time ''' if sys.argv[1]=='sleepy': print('nongsi') else: print('....')''' #进度条 for i in r ...

  2. zookeeper安装及环境变量设置

    下载 首先去官网下载(自行选择版本):http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.11/然后执行tar -zxvf解压 对于后台安装 ...

  3. Browser Object Model

    BOM:浏览器提供的一系列对象 window对象是BOM最顶层对象 * 计时器setInterval(函数,时间)设置计时器 时间以毫秒为单位 clearInterval(timer) 暂停计时器se ...

  4. EasyUI datagrid 使用小结

    用了 EasyUI 框架一段时间了,这个前端框架用起来还是挺方便的,也有很多现成的控件,看看官方文档应该还是能比较快用起来的. 在这里记录一下一些常用的控件的方法,遇到过的bug或者当初耗了一点时间来 ...

  5. PHP常见排序算法

    $a = [1, 3, 5, 2, 4, 6, 12, 60, 45, 10, 32];$len = count($a);$num=0;/* * 冒泡排序 * 原理:不停的对相邻两个数进行比较,直到最 ...

  6. Python内置函数(9)——int

    英文文档: class int(x=0) class int(x, base=10) Return an integer object constructed from a number or str ...

  7. 原生Ajax用法——一个简单的实例

    Ajax全名(Asynchronous(异步) JavaScript and XML )是可以实现局部刷新的 在讲AJax之前我们先用简单的实例说一下同步和异步这个概念 /*异步的概念(就是当领导有一 ...

  8. springboot字符集乱码

    入门扫盲:https://www.2cto.com/database/201701/584442.html 1.修改springweb类bug 2.数据库连接配置 3.数据库字符集 https://w ...

  9. emqtt 试用(七)追踪

    追踪 EMQ 消息服务器支持追踪来自某个客户端(Client)的全部报文,或者发布到某个主题(Topic)的全部消息. 追踪客户端(Client): ./bin/emqttd_ctl trace cl ...

  10. Linux进程管理:查杀进程

    一.查看进程 Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢? 两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格 ...