华硕编程竞赛11月JAVA专场 B题召唤精灵 题解

news2024/11/20 12:24:41

作者主页:Designer 小郑
作者简介:软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者,在校期间参加PAT乙级考试获得满分,三年ACM竞赛经验,斩获国奖两项,省奖五项。热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序

题目链接:题目链接

在这里插入图片描述

题面:

小王来到了太空的精灵召唤基地,这里是太空小精灵的生产场所。

接着小张开始介绍这片基地,这是一片正方形的召唤阵,边长为 N(1 < N < 10000),每次精灵召唤任务由两名召唤师担任。

召唤第一个精灵时,必须在角落开始召唤(即正方形的四个角落之一),召唤 X + 1 个精灵时,X + 1 个精灵必须在第 X 个召唤精灵的四周(即上下左右),且每个精灵位只能存放一个精灵。

当某位召唤师无法再召唤精灵时,另外一位召唤师取得了胜利!

小王开始首轮召唤,请问小王可以获得胜利吗?若小王可以获胜,请输出 Yes,若不能获胜则输出 No

图片描述

引用说明:上面的图片来源于蓝桥云课。

知识点

  • Java 的条件语法
  • 基础博弈分析

在这里插入图片描述

初始代码

public class GMain {

    public static String doWork(int n) {
        //代码编辑区 开始
        return "Yes";
        //代码编辑区 结束
    }

    public static void main(String[] args) {
        //测试用例
        System.out.println((Objects.equals("No",doWork(2)) ? "【√正确】" : "【X错误】 ") + "召唤场边长为: 2,答案:" + doWork(2));
        System.out.println((Objects.equals("Yes",doWork(3)) ? "【√正确】" : "【X错误】")  + " 召唤场边长为: 3,答案:" + doWork(3));
    }
}

在这里插入图片描述

样例说明

输入数据是一个整数 N,代表召唤场的边长,小王和小张都非常了解游戏规则,当一人明知可赢但故意走错让对方赢的情况,无需考虑

游戏开始时,由小王首轮召唤。

若小王可以获胜,请输出 Yes,若不能获胜则输出 No

在这里插入图片描述

题解

考察对奇偶性博弈的理解,N*N的方格,走过的格子不能走,第一格在角落上,最后无路可走就算输,求最后谁赢。

先手下棋后,剩余精灵召唤位个数为 N * N -1,若 N * N -1 为偶数,则先手小王胜利,否则小张胜利。

因为奇数的平方是奇数,偶数的平方是偶数,所以题解可以简化为:

N 为奇数,先手小王胜利,反之小张胜利。

参考代码如下:

import java.util.Objects;

public class GAns {

    public static String doWork(int n) {
        //代码编辑区 开始
        return (n&1) > 0 ? "Yes" : "No";
        //代码编辑区 结束
    }

    public static void main(String[] args) {
        //测试用例
        System.out.println((Objects.equals("No",doWork(2)) ? "【√正确】" : "【X错误】 ") + "召唤场边长为: 2,答案:" + doWork(2));
        System.out.println((Objects.equals("Yes",doWork(3)) ? "【√正确】" : "【X错误】")  + " 召唤场边长为: 3,答案:" + doWork(3));
    }
}

在这里插入图片描述

总结

要 AC 本题,必须学会奇偶性博弈的算法,从而通过本题。

在这里插入图片描述

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

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

相关文章

ATtiny13与Proteus仿真-GPIO与点亮LED仿真

GPIO与点亮LED仿真 1、GPIO介绍 ATtiny13的端口具有(Read-Modify-Write,读取-更改-写入)基础功能。这就意味着,可以通过 SBI 和 CBI 指令更改一个端口引脚的方向,而不会影响其他端口方向。同时,如果更改一个端口的值,也不会影响其他的端口的值。 ATtiny13的端口输出缓冲…

Spring boot前后端分离项目使用docker-compose部署在Ubuntu上 以及内网穿透,外网访问项目

docker-compose.yml部署vue Springboot前后端分离项目 以及内网穿透&#xff0c;外网访问项目一、windows上部署前后端项目&#xff0c;测试1、前端Vue打包&#xff0c;放到nginx的html中2、nginx代理转发后端端口&#xff1a;4、后端Springboot项目使用Maven打包二、Linux上使…

-aop-

文章目录一.动态代理实现invocationHandler二.AOP概述环绕通知Pointcut定义切入点一.动态代理实现invocationHandler 动态代理&#xff1a;可以在程序的执行过程中&#xff0c;创建代理对象。 通过代理对象执行方法&#xff0c;给目标类的方法增加额外的功能&#xff08;功能增…

Filebeat采集数据到ES保证数据不重复

一.背景 业务需求使然&#xff0c;API接口负责收集用户传递上来的json数据&#xff0c;为了保证接口性能和数据的可靠性。我们没有直接拿到数据&#xff0c;然后存储到mysql或者kafka&#xff0c;而是直接使用最稳妥的方式&#xff0c;写文件。之后采用filebeat对数据文件进行采…

8_1、Java基本语法之多线程基本概念

一、涉及到多线程的基本概念 1、程序(programm) 概念&#xff1a;是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码&#xff0c;静态对象。 2、进程(process) 概念&#xff1a;是程序的一次执行过程&#xff0c;或是正在运行的一个程…

Cy7 Tyramide, Tyramide-Cy7,花青素Cy7 酪酰胺化学试剂供应

一&#xff1a;产品描述 1、名称 英文&#xff1a;Cyanine7 Tyramide&#xff0c;Cy7 Tyramide&#xff0c;Tyramide-Cy7 中文&#xff1a;花青素Cy7 酪酰胺 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Cyanine 4、分子量&#xff1a;802.01 5、分子式&#xff…

Docker学习6-Docker镜像commit操作案例

在上一篇中&#xff0c;我们知道了docker是基于联合文件系统的分层镜像。而且也知道了镜像是只读的&#xff0c;容器才是可以写的。那么&#xff0c;如果我们要修改镜像&#xff0c;修改之后&#xff0c;怎么提交呢&#xff1f;本文&#xff0c;凯哥将介绍&#xff0c;docker的…

svd分解

sklearn中svd分解 class sklearn.decomposition.TruncatedSVD(n_components2, *, algorithmrandomized, n_iter5, random_stateNone, tol0.0) 参数&#xff1a; n_components&#xff1a;整数&#xff0c;默认2 输出数据的所需维度。必须严格小于特征数。默认值对可视化很有用…

Git 操作 Gitea 出现 kex_exchange_identification: Connection closed by remote host

1. 问题背景 我的部分代码储存在使用 Gitea 搭建的服务上: DevWiki - 首页 - DevWiki Gitea 之前都是使用网页在网站上进行 仓库管理, 今天在clone代码的时候出现异常: kex_exchange_identification: Connection closed by remote host, 具体以下提示: $ git clone gitgit.d…

【案例分享】跨机房ES同步实战

背景 众所周知单个机房在出现不可抗拒的问题&#xff08;如断电、断网等因素&#xff09;时&#xff0c;会导致无法正常提供服务&#xff0c;会对业务造成潜在的损失。所以在协同办公领域&#xff0c;一种可以基于同城或异地多活机制的高可用设计&#xff0c;在保障数据一致性…

微软CTO谈AI:逃不掉马拉松就准备好跑鞋!30秒自动化妆机;ChatGPT刷爆票圈;剪纸风格的AI绘画 | ShowMeAI资讯日报

&#x1f440;日报合辑 | &#x1f3a1;AI应用与工具大全 | &#x1f514;公众号资料下载 | &#x1f369;韩信子 &#x1f4e2; 对话微软 CTO 凯文斯科特 (Kevin Scott)&#xff1a;人工智能将去向何方&#xff1f; https://blogs.microsoft.com/ai/a-conversation-with-kevi…

【卡塔尔世界杯】空调制冷,全是科技与狠活

半自动化越位技术比赛用球AI Rihla球场智能空调Feelix Palm辅助技术可持续利用的体育场便利的数字设施和App 西班牙队和英格兰队穿外套出场&#xff0c;卡塔尔的空调功率到底有多大&#xff1f; 还是很大的&#xff0c;不管是室外还是室内&#xff0c;到处都安装了空调&#…

Verilog系统函数

Verilog系统函数前言一、$width&#xff08;一&#xff09;简介&#xff08;二&#xff09;$width 参数&#xff08;三&#xff09;例子二、Specify参数三、$display&#xff08;一&#xff09;简介&#xff08;二&#xff09;格式说明&#xff08;三&#xff09;例子1.例12.例…

Bert论文解读及相关代码实践

Bert&#xff1a;Bidirectional Encoder Representations from Transformers Transformer中双向Encoder表达学习。BERT被设计为通过在所有层中对左右上下文进行联合调节&#xff0c;从未标记文本中预训练深度双向表示。预训练的BERT模型可以通过仅一个额外的输出层进行微调&am…

AVS-试听分割-论文阅读

题目: Audio-Visual Segmentation 论文地址:https://arxiv.org/abs/2207.05042 GitHub地址:https://github.com/OpenNLPLab/AVSBench 项目主页:https://opennlplab.github.io/AVSBench/ 相关博客https://arxiv.org/abs/2203.03821 摘要 We propose to explore a new pro…

(附源码)ssm汽车租赁 毕业设计 271621

基于ssm的汽车租赁平台的设计与实现 摘 要 随着社会经济的快速发展,我国机动车保有量大幅增加,城市交通问题日益严重。为缓解用户停车难问题,本文设计并实现了汽车租赁平台.该系统通过错峰停车达到车位利用率最大化.基于现状分析,本文结合实际停车问题,从系统应用流程,系统软硬…

微电网和直流电网中最优潮流(OPF)的凸优化(Matlab代码实现)

&#x1f4cb;&#x1f4cb;&#x1f4cb;本文目录如下&#xff1a;⛳️⛳️⛳️ 目录 1 概述 2 最优潮流 3 电力系统强大的CVX 4 直流电网中最优潮流&#xff08;OPF&#xff09;的凸优化 4.1 Matlab代码 4.2 运行结果 5 微电网中最优潮流&#xff08;OPF&#xff09;的凸优…

go gin web综合教程,包括 mysql redis log 路由

前言 在学习go许久&#xff0c;没看到网上有比较综合的gin web教程&#xff0c;很多都是最基础的教程&#xff0c;完全就是启动个服务返回参数&#xff0c;没有过多的结合实际开发。下面我结合一下我的经验&#xff0c;来写一篇深入的综合教程&#xff0c;包括数据库Mysql、re…

JMeter启动时常见的错误

很多小伙伴在学工具这一块时&#xff0c;安装也是很吃力的一个问题&#xff0c;之前记得有说过怎么安装jmeter这个工具。那么你要启动jmeter的时候&#xff0c;一些粉丝就会碰到如下几个问题。 1.解压下载好的jmeter安装&#xff0c;Windows 平台&#xff0c;双击 jmeter/bin …

基于python实现的SGM半全局立体匹配算法

文章目录前言一、SGM是什么&#xff1f;1.代价计算2.代价聚合3.视察计算4.视察优化二、基于python实现SGM算法&#xff1f;总结前言 开始正是入门立体匹配算法啦&#xff0c;会不断更新立体匹配的算法和代码。   水平有限&#xff0c;旨在先了解和读懂别人的代码的实现方式&a…