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. JAVA读取Excel中内容(HSSF和Workbook两种方法)

    内容添加,以前是用的HSSF,前几天帮同学写一个统计表用了Workbook,现在码一下. ---新内容(Workbook)--- 同学要统计一个xls表格,让表1里面的某一列内容对表2里面的每列进行匹 ...

  2. Alpha冲刺——Day1

    一.合照 二.项目燃尽图 三.项目进展 1.界面设计:图形界面部分完成 2.数据库设计:数据库设计基本完成 3.搭建基本服务器框架 github链接 四.明日规划 1.继续完成剩下的图形界面 2.An ...

  3. Ditto在教学上的应用

    Ditto在教学上的应用 我喜欢iOS和macOS生态的一个原因是,你在iphone上看到一段好文字,复制一下,到macbook中粘贴一下就可以了,这体验太爽了. 大家可能相信大家都听过这样一则笑话: ...

  4. Beta阶段敏捷冲刺报告-DAY3

    Beta阶段敏捷冲刺报告-DAY3 Scrum Meeting 敏捷开发日期 2017.11.4 会议时间 12:30 会议地点 软工所 参会人员 全体成员 会议内容 当天任务确认,进度调整, 讨论时 ...

  5. 201621123060 《Java程序设计》第六周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...

  6. itchat 微信的使用

    #coding=utf8 import itchat # 自动回复 # 封装好的装饰器,当接收到的消息是Text,即文字消息 @itchat.msg_register('Text') def text ...

  7. Hibernate之HQL

    SQL语句的DML操作不外乎:增,删,改,查 增加 :  save(),persist() 删除 :   delete() 改动 :   update() 查询  :  get() ,load() 其 ...

  8. python入门(14)定义函数和接收返回值

    定义函数: 定义一个求绝对值的my_abs函数为例: def my_abs(x): if x >= 0: return x else: return -x 如果没有return语句,函数执行完毕 ...

  9. LayUI之table数据表格获取行、行高亮等相关操作

    前言 目前LayUI数据表格既美观有不乏一些实用功能.基本上表格应有的操作已经具备,LayUI作者[贤心]肯定是煞费苦心去优化,此处致敬.但是实话实话,如果单纯那数据表格功能来说,EasUI的数据表格 ...

  10. R数据分析 第一篇:温习概率论

    概率论是人们在长期实践中发现的理论,是客观存在的.自然界和社会上发生的现象是多种多样的,有一类现象,在一定条件下必然发生,称作确定性现象,而概率论研究的现象是不确定性现象,嗯嗯,醒醒,概率论研究的对象 ...