第十四届蓝桥杯三月真题刷题训练——第 21 天

这篇具有很好参考价值的文章主要介绍了第十四届蓝桥杯三月真题刷题训练——第 21 天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第 1 题:灭鼠先锋

问题描述

运行限制

代码:

思路:

第 2 题:小蓝与钥匙

问题描述

答案提交

运行限制

代码:

思路 :

第 3 题:李白打酒加强版 

第 4 题:机房 


第 1 题:灭鼠先锋

问题描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

灭鼠先锋是一个老少咸宜的棋盘小游戏,由两人参与,轮流操作。

灭鼠先锋的棋盘有各种规格,本题中游戏在两行四列的棋盘上进行。游戏的规则为:两人轮流操作,每次可选择在棋盘的一个空位上放置一个棋子,或在同一行的连续两个空位上各放置一个棋子,放下棋子后使棋盘放满的一方输掉游戏。

小蓝和小乔一起玩游戏,小蓝先手,小乔后手。小蓝可以放置棋子的方法很多,通过旋转和翻转可以对应如下四种情况:

XOOO XXOO OXOO OXXO
OOOO OOOO OOOO OOOO

其中 O 表示棋盘上的一个方格为空,X 表示该方格已经放置了棋子。

请问,对于以上四种情况,如果小蓝和小乔都是按照对自己最优的策略来玩游戏,小蓝是否能获胜。如果获胜,请用 V 表示,否则用 L 表示。请将四种情况的胜负结果按顺序连接在一起提交。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day21;

/**
 * @author yx
 * @date 2023-03-24 8:27
 */
public class 灭鼠先锋 {
    public static void main(String[] args) {
        System.out.println("LLLV");
    }
}

第十四届蓝桥杯三月真题刷题训练——第 21 天

思路:

(1)因为这个题目已经把先手的四种情况进行了说明,所以就非常好想

(2)我们只需要找到一种后手下棋思路让先手必输的情况,那对于后手来说就是最优方法

(3)分别在纸上画一下下棋思路即可

第 2 题:小蓝与钥匙

问题描述

小蓝是幼儿园的老师, 他的班上有 28 个孩子, 今天他和孩子们一起进行了 一个游戏。

小蓝所在的学校是寄宿制学校, 28 个孩子分别有一个自己的房间, 每个房 间对应一把钥匙, 每把钥匙只能打开自己的门。现在小蓝让这 28 个孩子分别将 自己宿舍的钥匙上交, 再把这 28 把钥匙随机打乱分给每个孩子一把钥匙, 有 28!=28×27×⋯×1 种分配方案。小蓝想知道这些方案中, 有多少种方案恰有 一半的孩子被分到自己房间的钥匙 (即有 14 个孩子分到的是自己房间的钥匙, 有 14 个孩子分到的不是自己房间的钥匙)。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 512M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day21;

/**
 * @author yx
 * @date 2023-03-24 8:51
 */
public class 小蓝与钥匙 {
    static int N=14;
    public static void main(String[] args) {
        /**
         * 1、先从28个人里面选14个人给定它们的钥匙,一共有C14 28 种选法
         * 2、剩下的14个钥匙分别发给不同的人,使他们拿到的都不是自己的钥匙
         * 3、后半部分属于全错排列问题,用递推来做
         */
        /*
        全错排列问题:f(x)=f(x-1)+f(x-2)
        f(0)=0;
        f(1)=0;
        f(2)=1;
         */
        //排列组合:2006329977
        long C_14_28=paiLie();
        long f1=0;
        long f2=1;
        long temp=0;
        for (int i = 3; i <= 14; i++) {
            temp=f2;
            f2=(i-1)*(f1+f2);
            f1=temp;
        }
        System.out.println(f2*C_14_28);
    }

    //
    static long paiLie(){
        long ans=1;
        for (long i = 0; i < 14; i++) {
            ans=ans*(28-i)/(i+1);
        }
        return ans;
    }
}

第十四届蓝桥杯三月真题刷题训练——第 21 天

思路 :

(1)先从28个人里面选14个人给定它们的钥匙,一共有C14 28 种选法

    static long paiLie(){
        long ans=1;
        for (long i = 0; i < 14; i++) {
            ans=ans*(28-i)/(i+1);
        }
        return ans;
    }

(2)剩下的14个钥匙分别发给不同的人,使他们拿到的都不是自己的钥匙,即全错排问题

(3)全错排公式:f(x)=(N-1) * [f(x-1)+f(x-2)]

(4)推导过程:文章来源地址https://www.toymoban.com/news/detail-400518.html

  • 首先是初始值:f1=0; f2=1; f3=9这几项是可以自己手撸的
  • 当i>3,很明显手撸不太行,我们静下心来分析,要找其内在的规律
  • 设N个人为a,b,c,d...,N张卡为A,B,C,D...
  • 若a拿b的卡B,b也拿a的卡A,则显然只剩下N-2个人拿卡,自然是f(N-2)种了(好理解)
  • 若a拿b的卡B,b没拿a的卡A,则显然与N-1个人拿卡问题一样,自然是f(N-1)种了(不好理解)
  • 为啥是f(N-1)种呢?注意:这里的b没拿卡A,就相当于在N个数中a没拿卡A一样的道理,在N-1个数字中,b的卡片B被a拿走了,而B又不能拿A,其实就是把卡A变相看作是卡B的平替那是不是就相当于看作了N-1个数字进行错排
  • a不一定拿B,只要是B,C,D...(N-1个)中的一个就可以了,所以在f(N-1)+f(N-2)再乘上N-1就行了.
  • 得出递推公式:f(N)=(N-1)*[f(N-1)+f(N-2)]

第 3 题:李白打酒加强版 

第 4 题:机房 

到了这里,关于第十四届蓝桥杯三月真题刷题训练——第 21 天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【蓝桥杯选拔赛真题58】python最短时间 第十四届青少年组蓝桥杯python 选拔赛比赛真题解析

    目录 python最短时间 一、题目要求 1、编程实现 2、输入输出

    2024年01月16日
    浏览(42)
  • 第十四届蓝桥杯大赛青少年省赛C++组试题真题 2023年5月

    一、选择题 第 1 题 单选题 C++中,bool类型的变量占用字节数为 ( )。 A. 1 B. 2 C. 3 D. 4 第 2 题 单选题 以下关于C++结构体的说法,正确的是 ( )。 A. 结构体中只能包含成员变量,不能包含成员函数 B. 结构体不能从另一个结构体继承 C. 结构体里面可以包含静态成员变量 D. 结构体里

    2024年02月15日
    浏览(54)
  • 第十四届蓝桥杯大赛青少年国赛C++组试题真题 2023年5月

    第十四届蓝桥杯大赛青少年国赛C++组试题真题(2023年5月28日) 一、选择题 第 1 题    单选题 以下选项中,没有利用“比较”操作的算法是( )。 A.选择排序 B.冒泡排序 C.插入排序 D.桶排序 第 2 题    单选题 假设入栈顺序为a、b、c、d、e,则出栈序列不可能是( )。 A.a、

    2024年02月15日
    浏览(40)
  • 第十三届蓝桥杯省赛与国赛真题题解大汇总(十四届参赛者必备)

      大家好,我是执梗。本文汇总了我写的第十三届蓝桥杯所有省赛真题与国赛真题,会针对每道题打出我自己的难度评星⭐️,也会给出每道题的算法标签,帮助大家更有针对性的去学习和准备,当然许多题目由于难度或时间的原因暂未更新,如果有不懂的问题也可以在评

    2024年02月11日
    浏览(78)
  • 第十四届蓝桥杯题解

    声明:以下都无法确定代码的正确性,是赛时代码,希望大家见谅!思路可以参考,等后续可以评测之后再去修改博客内错误,也希望大家能够指正错误! 分析:这道题直接暴力求解即可,八重for循环,注意剪枝,前四个for循环必须是2013,然后月数的第一位不能超过1,天数

    2023年04月10日
    浏览(43)
  • 记2023第十四届蓝桥杯感受

    弱校ACM队员,曾获CB国二,CG国优第六。(我是fw) ------------------------------------------------------------------------分割线 2023.04.09 今年再次参加CG组,估计g了,盲猜一波省二前排,出成绩后再来更新。 ------------------------------------------------------------------------分割线 先说一下今年感受,

    2023年04月10日
    浏览(86)
  • 三国游戏(第十四届蓝桥杯)

    小蓝正在玩一款游戏。游戏中魏蜀吴三个国家各自拥有一定数量的士兵 X,Y,Z(一开始可以认为都为 0)。 游戏有 n个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i个事件发生时会分别让 X,Y,Z 增加 A i , B i , C i A_i,B_i,C_i A i ​ , B i ​ , C i ​ 。 当游戏结

    2024年01月21日
    浏览(44)
  • 2023第十四届蓝桥杯JavaB组

    目录 A、阶乘求和  Ⅰ、题目解读 Ⅱ、代码  B、幸运数字  Ⅰ、题目解读  Ⅱ、代码 C: 数组分割(时间限制: 1.0s 内存限制: 512.0MB)  Ⅰ、解题思路  Ⅱ、代码  D、矩形总面积(时间限制: 1.0s 内存限制: 512.0MB)  Ⅰ、题目解读 Ⅱ、代码   E、蜗牛(时间限制: 1.0s 内存限制

    2023年04月09日
    浏览(54)
  • 【第十四届蓝桥杯单片机冲刺版】

    明天就是正式比赛啦,今天可以在把各个模块练习一遍,常考的外设相关代码一定要熟练哦。 比赛时拿到资料包了,检查驱动文件,使用到的驱动文件,自己做相应的修改,确保是能够正常使用(驱动修改相关可看之前的文章)。 下面是自己将常考的外设结合一起的练习,

    2023年04月27日
    浏览(53)
  • 第十四届蓝桥杯. 接龙数列(线性DP)

    对于一个长度为 K 的整数数列:A1,A2,...,AK,我们称之为接龙数列当且仅当 A i 的首位数字恰好等于 A i−1 的末位数字 (2≤i≤K)。 例如 12,23,35,56,61,11 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。 所有长度为 11 的整数数列都是接龙数

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包