2024-06-15:用go语言,Alice 和 Bob 在一个环形草地上玩一个回合制游戏。 草地上分布着一些鲜花,其中 Alice 到 Bob 之间顺时针方向有 x 朵鲜花,逆时针方向有 y 朵鲜花
2024-06-15:用go语言,Alice 和 Bob 在一个环形草地上玩一个回合制游戏。
草地上分布着一些鲜花,其中 Alice 到 Bob 之间顺时针方向有 x 朵鲜花,逆时针方向有 y 朵鲜花。
游戏规则如下:
1.游戏从 Alice 开始。
2.每个回合中,当前玩家必须选择顺时针或逆时针,并在所选方向上摘取一朵鲜花。
3.游戏继续直到所有鲜花都被摘完,此时当前玩家捕捉到对手,获得胜利。
给定两个整数 n 和 m,任务是找出满足以下条件的所有 (x, y) 对:
1.满足游戏规则,使得 Alice 必须获胜。
2.Alice 顺时针方向上鲜花数 x 在区间 [1, n] 内。
3.Alice 逆时针方向上鲜花数 y 在区间 [1, m] 内。
要求计算满足条件的数对 (x, y) 的总数量。
输入:n = 3, m = 2。
输出:3。
答案2024-06-15:
题目来自leetcode3021。
大体步骤如下:
根据题目描述和给定的代码,我们可以分步描述大致过程如下:
1.首先,我们定义了一个名为flowerGame的函数,该函数接受两个整数参数n和m,并返回一个int64类型的值。
2.在main函数中,我们初始化了n为3,m为2,并调用了flowerGame函数并打印输出结果。
接下来,针对题目描述的游戏规则和要求,我们可以进行如下分析:
1.游戏从Alice开始,每个回合Alice必须选择顺时针或逆时针方向摘取一朵鲜花,直到所有鲜花都被摘完。
2.我们需要找出满足条件的所有(x, y)对,其中x为Alice顺时针方向上的鲜花数,y为Alice逆时针方向上的鲜花数。
3.要使Alice获胜,需要满足游戏规则,即Alice在顺时针和逆时针方向上摘取鲜花,最终捕捉到Bob,获得胜利。
4.x的取值范围在[1, n]内,y的取值范围在[1, m]内。
5.我们需要计算满足条件的数对(x, y)的总数量。
总的时间复杂度为O(1),因为无论输入的n和m的值如何变化,计算数量的步骤都是固定的,不随输入规模增大而增加。总的额外空间复杂度也为O(1),因为除了存储输入n和m的变量外,没有使用额外的空间来存储数据。
Go完整代码如下:
package main
import "fmt"
func flowerGame(n, m int) int64 {
return int64(n) * int64(m) / 2
}
func main() {
n:=3
m:=2
fmt.Println(flowerGame(n,m))
}

Python完整代码如下:
# -*-coding:utf-8-*-
def flower_game(n, m):
return int(n) * int(m) // 2
def main():
n = 3
m = 2
print(flower_game(n, m))
if __name__ == "__main__":
main()

2024-06-15:用go语言,Alice 和 Bob 在一个环形草地上玩一个回合制游戏。 草地上分布着一些鲜花,其中 Alice 到 Bob 之间顺时针方向有 x 朵鲜花,逆时针方向有 y 朵鲜花的更多相关文章
- C语言学习_C如何在一个文件里调用另一个源文件中的函数
问题 C如何在一个文件里调用另一个源文件中的函数,如题. 解决办法 当程序大了代码多了之后,想模块化开发,不同文件中存一点,是很好的解决办法,那我们如何做才能让各个文件中的代码协同工作呢?我们知道,m ...
- C语言的本质(15)——C语言的函数接口入门
C语言的本质(15)--C语言的函数接口 函数的调用者和其实现者之间存在一个协议,在调用函数之前,调用者要为实现者提供某些条件,在函数返回时,实现者完成调用者需要的功能. 函数接口通过函数名,参数和返 ...
- CAD与用户互在图面上得到一个矩形框(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::ExApp_CutDwg 与用户互在图面上得到一个矩形框,详细说明如下: 参数 说明 IN DOUBLE dX1 保存范围的左下角位置 ...
- go语言,golang学习笔记4 用beego跑一个web应用
go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...
- CAD与用户交互在图面上选择一个实体(com接口VB语言)
主要用到函数说明: IMxDrawUtility::GetEntity 与用户交互到在图面上选择一个实体,详细说明如下: 参数 说明 [out] IMxDrawPoint** pPickPoint 返 ...
- C语言程序设计100例之(25):确定进制
例25 确定进制 问题描述 6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的.即 6(13)* 9(13)= 42(13),因为,在十三进制中,42 = 4 * 13 + ...
- H - Solve this interesting problem 分类: 比赛 2015-07-29 21:06 15人阅读 评论(0) 收藏
Have you learned something about segment tree? If not, don't worry, I will explain it for you. Segm ...
- 15、R语言聚类树的绘图原理
聚类广泛用于数据分析.去年研究了一下R语言聚类树的绘图原理.以芯片分析为例,我们来给一些样品做聚类分析.聚类的方法有很多种,我们选择Pearson距离.ward方法. 选择的样品有: "GS ...
- 1026 程序运行时间 (15 分)C语言
题目描述 要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间.这个时间单位是clock tic ...
- 1046 划拳 (15 分)C语言
划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒.两人同赢或两人同输 ...
随机推荐
- 如何快速调度 PTS 的百万并发能力
简介:压测是通过模拟用户行为对业务系统发起请求,测算出系统的承载能力,并对系统做一次全面的体检,压测后可根据压测表现优化系统瓶颈,防止出现线上故障. 作者:灵苒 在实际的业务场景中,压测是必不可少的 ...
- 如何开发 Node.js Native Add-on?
简介: 来一起为 Node.js 的 add-on 生态做贡献吧~ 作者 | 吴成忠(昭朗) 这篇文章是由 Chengzhong Wu (@legendecas),Gabriel Schulhof ( ...
- 【CDS技术揭秘系列 总篇】阿里云的云定义存储来了
简介: 全新发布的云定义存储 CDS 和传统的存储阵列.分布式存储.软件定义存储的区别在哪里?阿里云存储团队如何看待将来存储的发展趋势?本文邀请了 CDS 研发团队的核心技术负责人为大家揭开围绕着阿 ...
- 5分钟搞定Loki告警多渠道接入
简介: Loki是受Prometheus启发的水平可扩展.高可用.多租户日志聚合系统.用户既可以将Loki告警直接接入SLS开放告警,也可以先将Loki接入Grafana或Alert Manager ...
- WPF 使用 MAUI 的自绘制逻辑
这是一个当前还没开发完成的功能,准确来说连预览版也算不上的功能.我原本以为 MAUI 是无法在 WPF 上面跑的,然而在看完了 MAUI 整个大的设计,才了解到,原来 MAUI 是一个非常庞大的开发项 ...
- WPF 漂亮的现代化控件 新 ModernWPF 界面库
这是一个在 GitHub 上完全开源的库,有十分漂亮的界面,整个都是 Win10 风,界面部分和默认 UWP 相近 这个库支持了 .NET Framework 4.5 和以上的版本,以及 .NET C ...
- 使用 NestJS 和 qrcode.js 创建 QR 码生成器 API
前言 QR码(Quick Response Code)是一种二维码,于1994年开发.它能快速存储和识别数据,包含黑白方块图案,常用于扫描获取信息.QR码具有高容错性和快速读取的优点,广泛应用于广告. ...
- Oracle【ORA-00600 internal error code arguments [2662]】恢复一例
背景 1.数据库版本:11.2.0.4 2.未开启归档 3.没有备份:无RMAN备份.无DUMP备份 4.数据库redo log全部删除. 解决思路: Oracle 的隐含参数: _allow_res ...
- 用 Certbot-auto 在 letsencrypt.org申请免费 SSL 证书实现 HTTPS
参考帖子 https://www.cnblogs.com/lzpong/p/6433189.html https://www.cnblogs.com/756623607-zhang/p/1163850 ...
- python教程1.2:变量+数据类型+运算符
一.变量 程序是从上到下依次逐⾏执⾏的,所以变量必须先定义,后调⽤, 否则会报错 变量定义规范 二.数据类型 1.数字类型 可⽤ type() ⽅法来查看数据类型 2.字符串 多引号 多引号什么作 ...