【2018.3.17】模拟赛之三-ssl1863jzoj1367 俄罗斯方块【模拟】

正题

链接 需要纪中OJ账号
有7种方块
from jzoj
有n列,给出每列的方块高度,求一种方块所有方面都落地的方案数
from jzoj


输入输出(需要自取)

Input

第一行为二个整数C和P,1 ≤ C ≤ 100, 1 ≤ P ≤ 7,表示列数和下落方块的编号   第二行共有用一个空隔隔开的C个整数,每一个数字在 0 到 100,之间(包含0和100),表示每一列的初始高度

Output

输出为一个整数,表示落地的方法总数

Sample Input

  1. Input1
    6 5
    2 1 1 1 0 1
  2. Input2
    5 1
    0 0 0 0 0
  3. Input3
    9 4
    4 3 5 4 6 5 7 6 6

Sample Output

  1. Output1
    5
  2. Output2
    7
  3. Output3
    1

解题思路

纯模拟能过。反正不需要考虑上方的方块,只要在最低层的方块落地就行了


代码(就不解释了)

#include<cstdio>
using namespace std;
int h[101],s,n,p;
int main()
{scanf("%d%d",&n,&p);for (int i=1;i<=n;i++)scanf("%d",&h[i]);if (p==1){s+=n;for (int i=1;i<=n-3;i++){if (h[i]==h[i+1]&&h[i]==h[i+2]&&h[i]==h[i+3]) s++;}}else if (p==2){for (int i=1;i<n;i++){if (h[i]==h[i+1]) s++;}}else if (p==3){for (int i=1;i<=n-2;i++){if (h[i]==h[i+1]&&h[i]==h[i+2]-1) s++;}for (int i=1;i<=n-1;i++){if (h[i]-1==h[i+1]) s++;}}else if (p==4){for (int i=1;i<=n-2;i++){if (h[i]-1==h[i+1]&&h[i+1]==h[i+2]) s++;}for (int i=1;i<=n-1;i++){if (h[i]==h[i+1]-1) s++;}}else if(p==5){for (int i=1;i<=n-2;i++){if (h[i]==h[i+1]&&h[i+1]==h[i+2]) s++;}for (int i=1;i<=n-1;i++){if (h[i]==h[i+1]-1) s++;}for (int i=1;i<=n-1;i++){if (h[i]-1==h[i+1]) s++;}for (int i=1;i<=n-2;i++){if (h[i]==h[i+1]+1&&h[i+1]+1==h[i+2]) s++;}}else if (p==6){for (int i=1;i<n;i++){if (h[i]==h[i+1]) s++;}for (int i=1;i<=n-2;i++){if (h[i]==h[i+1]&&h[i+1]==h[i+2]) s++;}for (int i=1;i<=n-2;i++){if (h[i]+1==h[i+1]&&h[i+1]==h[i+2]) s++;}for (int i=1;i<=n-1;i++){if (h[i]==h[i+1]+2) s++;}}else if (p==7){for (int i=1;i<n;i++){if (h[i]==h[i+1]) s++;}for (int i=1;i<=n-2;i++){if (h[i]==h[i+1]&&h[i+1]==h[i+2]) s++;}for (int i=1;i<=n-2;i++){if (h[i]==h[i+1]&&h[i+1]==h[i+2]+1) s++;}for (int i=1;i<=n-1;i++){if (h[i]+2==h[i+1]) s++;}}printf("%d",s);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python缩进的几个原则

Python的缩进有以下几个原则 顶级代码必须顶行写&#xff0c;即如果一行代码本身不依赖于任何条件&#xff0c;那它必须不能进行任何缩进 同一级别的代码&#xff0c;缩进必须一致 官方建议缩进用4个空格

应用程序的8个关键性能指标以及测量方法

前言 高性能一直是我们作为程序员..孜孜不倦的追求.. 有的时候甚至会为了一句代码吵上几天.. 那么到底应该如何评估我们的性能指标来判断是否需要优化呢? 今天就来讲一下这个.. 说明一下,本篇是译文. 原文地址:https://stackify.com/application-performance-metrics/ …

MyBatis Plus

文章目录第一节 MyBatis Plus 的简介第二节 MyBatis Plus 的框架搭建[1] 第一步&#xff1a;导包[2] 搭建SSM开发环境[3] 在数据库中创建测试表[4] 在pojo层下创建Student表的实体类[5] 在mapper层创建StudentMapper接口并继承BaseMapper接口[6] 创建测试类&#xff0c;并从Spr…

班级日常分享,一天一瞬间

119级日常分享经过两周左右的KTV项目终于要告一段落了&#xff0c;上午先让各个小组在班内试讲了下自己小组所做的KTV点歌系统&#xff0c;整体上做的还可以&#xff0c;有些小组还存在一些细节问题&#xff0c;在试讲的时候也都给他们指了指&#xff0c;相信下来会有所改进的。…

DDOS 攻击的防范教程

转载自 DDOS 攻击的防范教程 一个多月前&#xff0c;阮一峰的个人网站遭受 DDOS 攻击&#xff0c;下线了50多个小时。这篇文章就是他总结的&#xff0c;教大家如何应对这种攻击。 需要说明的是&#xff0c;我对 DDOS 并不精通&#xff0c;从没想过自己会成为攻击目标。攻击…

【2018.3.17】模拟赛之四-ssl1864jzoj1368 燃烧木棒【最短路,Floyd】

正题 链接 需要纪中OJ账号 有n条木棒&#xff0c;长度为1或根号2&#xff0c;给出每根木棒两头的坐标&#xff0c;和燃烧需要的时间。只能从一个木棒的一头开始点火&#xff0c;求燃烧完所有木棒所需要的最短时间。 输入输出&#xff08;需要自取&#xff09; Input 输入…

python变量的创建过程(内存地址变化)

​ name “Alex” 原因 python 解释器有自动垃圾回收机制&#xff0c;自动隔一段时间把没有跟变量名关联的内存数据回收。

推荐一份基于Docker的DevOps实战培训教程

01. 基于Docker的DevOps实战培训 微软工具链 基于Azure和Team Foundation Server 微软DevOps工具链是基于Visual Studio 应用生命周期管理&#xff08;VSALM - Visual Studio Application Lifecycle Managemnet&#xff09;的软件管理平台&#xff0c;本动手实验希望通过模拟一…

所有和Java中代理有关的知识点都在这了

转载自 所有和Java中代理有关的知识点都在这了 对于每一个Java开发来说&#xff0c;代理这个词或多或少都会听说过。你可能听到过的有代理模式、动态代理、反向代理等。那么&#xff0c;到底什么是代理&#xff0c;这么多代理又有什么区别呢。本文就来简要分析一下。 代理技…

神奇!一行代码实现删除某集合下标20-30的元素

大家好&#xff0c;我是雄雄。今天我们还是分享关于集合的内容。假如有这样的需求&#xff0c;已知集合的长度为100&#xff0c;也就是集合中有100个元素&#xff0c;现需要删除索引20-30之间的元素&#xff0c;我们应该怎么实现呢&#xff1f;我们先初始化集合&#xff0c;代码…

ssl初一组周六模拟赛【2018.3.17】

前言 先说一下成绩&#xff1a; 姓名成绩xjq(没错又是他)310hjq200hzb150wyc(本人)130lrz130xxy100lw30zyc缺考 正题 题目1&#xff1a;ssl2574 & jzoj1368 无限序列【斐波那契数列】 刚开始想用分治&#xff0c;结果做不出来&#xff0c;然后想到了更好的方法&#xff…

注意!在subList生成子列表之后,一定不要随便更改原列表

大家好&#xff0c;我是雄雄。前几期我们说过&#xff0c;subList方法是返回原列表的子列表&#xff0c;并且我们还说过&#xff0c;在subList返回的子列表上操作时&#xff0c;会直接影响着原列表&#xff0c;原文在这里&#xff1a;subList?? subString???子列表只是原列…

DotNetCore跨平台~Dockerfile的解释

大叔感觉网上对Dockerfile的说明不是很清楚&#xff0c;或者说怎么去用说的不清楚&#xff0c;在vs2017里我们可以去建立自己的Dockerfile文件&#xff0c;然后你的项目可以被生成一个镜像&#xff0c;把它推到仓库之后&#xff0c;你可以在linux,mac上去run你的项目了&#xf…

当你「ping 一下」的时候,你知道它背后的逻辑吗

转载自 当你「ping 一下」的时候&#xff0c;你知道它背后的逻辑吗 我们在遇到网络不通的情况&#xff0c;大家都知道去 ping 一下&#xff0c;看一下网络状况。 那你知道「ping」命令后背的逻辑是什么吗&#xff1f;知道它是如何实现的吗&#xff1f; 一、「ping」命令的作…

POJ1611-嫌犯【图论,并查集】

正题 题目链接&#xff1a; http://poj.org/problem?id1611 大意 有n个人&#xff0c;m个组&#xff0c;有一个流感嫌犯&#xff0c;流感嫌犯会将所在的组的所有人变成流感嫌犯&#xff0c;求流感嫌犯的数量。 解题思路 并查集将各个组合并&#xff0c;然后看看那些人是和…

python的三元运算

a 10 b 5if a > 15 :c a else:c bd a if a > 15 else bd 值1 if 条件A else 值2如果条件A成立&#xff0c;就取左边的 值1&#xff0c;则 取 值2

​凌云KTV点歌系统功能简介

19级青鸟三班 凌云小组指导老师&#xff1a;穆雄雄老师 班主任&#xff1a;王欣欣老师小组成员&#xff1a;组长&#xff1a;李磊 副组长&#xff1a;杨云浩组员&#xff1a;高启航 朱齐 李欣然 高松 张方仪 王浩如 苏荟旭 贾增伟制作周期&#xff1a;2020年9月25日-10月…

REST参考手册

总说接口定义要遵守 RESTful&#xff0c;那么什么是REST呢&#xff0c;今天跟小编一起来了解一下这个规范吧~&#xff01; 原文作者简介&#xff1a; BRIAN SLETTEN是一个关注前沿技术的软件工程师&#xff0c;现居于加州奥本。他的职业生涯横跨了各个行业&#xff0c;包括零售…

漫画:如何用栈实现队列

转载自 漫画&#xff1a;如何用栈实现队列 栈的特点是先入后出&#xff0c;出入元素都是在同一端&#xff08;栈顶&#xff09;&#xff1a; 入栈&#xff1a; 出栈&#xff1a; 队列的特点是先入先出&#xff0c;出入元素是在不同的两端&#xff08;队头和队尾&#xff09;…

POJ2524——宗教(Ubiquitous Religions)【图论,并查集】

正题 题目链接&#xff1a; http://poj.org/problem?id2524 大意 有n个学生&#xff0c;告诉你哪两个学生的宗教相等&#xff0c;求校园里有多少个宗教。 解题思路 并查集链接就好了 代码 #include<cstdio> using namespace std; int n,m,x,y,s,father[50001],t; i…