试题B:小球反弹

我在刷博客的时候看见有人分享了蓝桥杯的题目,我想起了我之前大学打蓝桥杯刷题的时光,还是很怀念当时打比赛的氛围,关于这个小球反弹的题目,我感觉很有意思,我一开始也是走了好多弯路,然后去上了一个厕所,突然茅塞顿开,想到了一个很简单的方法,也看了一圈大家对这道题的结局方法,基本上以遍历枚举出结果为主,和我的思路不太一样,所有想分享给大家看一下我的想法,大家可以先看一下题目呢

错误尝试

我刚看到这个题目的时候,我最先想到的方法是通过定义y=kx+b的方式来模拟小球反弹的运动曲线,然后通过这个曲线方程来看他到底是碰到了长方形的长还是长方形的宽,因为通过一元一次方程来模拟运动函数,基本上来说k的就两个值在变要么k=17/15要么k=-17/15,需要改变的只有b,每一次反弹k就是上一次的k的负数,而b=y-kx,所有只需要,每一次反弹就改变一次k和b就可以得到新的y=kx+b,但这样需要每一次都判断长方形的边,因为你要判断小球反弹的是长方形的长还是宽,这样判断就太复杂了,所有我后面放弃了这个方法

茅塞顿开后的想法

我在想这个小球反弹的时候,突然想到,每一次反弹看似还在一个长方形内,实际上,不就是对原来的长方形对折一下,形成了两个长方形吗?



如果这样想法,实际上小球的运动规矩,就是一直沿着一个方向一直一直往前走,而这个长方形就一直在复制,如果先碰到的是宽,就往右边翻转一个,如果是先碰到长,就往下复制一个长方形



那么依据这个想法就相当于我只需要计算小球从左上方一直往下走,随着长方形的翻转,一直走到了翻转复制后的大长方形的右下角,这个路程就是小球回到原点的路程,这个问题就变成了,我们需要对这个长方形向左负责多少个,向下复制多少,才能让小球刚好到底右下角,那我们假设长方形向左边复制了CopyX个,向下复制了CopyY个,而又因为小球往x方向运动和往y方向运动的比例是15/17,相当于我们最终得到的这个大的长方形的长宽比肯定也是要是15/17,所以得到方程



然后通过移动



然后我们知道翻转的次数肯定是一个正整数,相当于我们就是只需要对右边的分数,进行通分得到它的最小分数形式就可以,那么就是我们,如果考场上没有计算器,需要通过代码来弄,就只需写一个求解最小公因数的函数,就可以快速的化简这个分数,最终得到的结果是



那么我们就得到CopyX=1059CopyY=1768,后面就用勾股定理来计算小球的运动规矩最终得到的值是dic =550162599.8851975

遗漏点

对于上面的结果大家是不是很奇怪,好像不是正确答案呀,是不是我们遗漏了什么呢,实际上遗漏的东西,就是我们最终求解的是小球从左上角到右下角的路程,而题目要求是求小球回到原点的路程,那么如果要回到原点实际上是我们刚刚求的结果X2,就可以了,相当于小球进行原路返回,我举例一个简单的例子



因此我们最终的答案是距离=1100325199.77(四舍五入)

试题B:小球反弹(第十五届蓝桥杯省赛B组c/c++组)的更多相关文章

  1. 第九届蓝桥杯国赛+第二天的第11届acm省赛的总结

    第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快 ...

  2. 第十届蓝桥杯2019年C/C++ 大学B组省赛试题

    2019年第十届蓝桥杯大赛软件类省赛C/C++大学B组 试题 A:组队 本题总分:5分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员, 组成球队的首发阵容. 每位球 ...

  3. 第十届蓝桥杯省赛JavaB组个人题解

    前言 以下的第十届蓝桥杯Java B组省赛的题目题解只是我个人的题解,提供一些解题思路,仅作参考,如有错误,望大家指出,不甚感激,我会及时更改. 试题 A: 组队 ----- 答案:490 [问题描述 ...

  4. 第十届蓝桥杯2019年C/C++ 大学A组省赛试题

    2019年蓝桥杯第十届软件类省赛 C/C++ 大 学 A 组 试题 A: 平方和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包括 1 ...

  5. 2019年第十届蓝桥杯省赛总结(JavaA组)

    //update3.28:省一rank4,莫名进了国赛好神奇.. 记yzm10第一次体验A组(纯粹瞎水). 早闻山东的JavaA组神仙打架,进国赛都成了奢望(往年只有五个名额),因此抱着做分母的心态来 ...

  6. 2019年第十届蓝桥杯国赛总结(JavaA组)

    JavaA组国二,可以报销了~ JA死亡之组可不是盖的,rank12的排名还是拿不到国一啊(只有五个.. 出成绩的一刻波澜不惊,毕竟去年有国一了不慌哈哈哈 不过对我来说这个结果还算意料之外吧,毕竟大三 ...

  7. 2019第十届蓝桥杯省赛及国赛个人总结(java-B组)

    省赛: 今年省赛的题目比18年简单的多,基本都是暴力枚举.BFS之类.还记得去年在山师考蓝桥杯,我这种辣鸡连题目都没看懂.本以为蓝桥会变得越来越难,没想到今年就被打脸了.今年省赛后面三个编程大题一个没 ...

  8. 第十届蓝桥杯省赛-试题E: RSA 解密

    试题E: RSA 解密 这里涉及到很多数论的知识:质因子分解,扩展欧几里得算法,快速幂算法,利用快速乘算法求解快速幂(mod太大导致不能直接乘,而是需要使用加法来替代乘法) 另外还需要注意扩展欧几里得 ...

  9. 北京师范大学第十五届ACM决赛-重现赛

    Another Server 时间限制:1秒 空间限制:262144K 题目描述 何老师某天在机房里搞事情的时候,发现机房里有n台服务器,从1到n标号,同时有2n-2条网线,从1到2n-2标号,其中第 ...

  10. 北京师范大学第十五届ACM决赛-重现赛J Just A String (kmp算法延伸)

    链接:https://ac.nowcoder.com/acm/contest/3/J 来源:牛客网 Just A String 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...

随机推荐

  1. 金蝶中间件 前后台连不上 报跨域 前台解决方案: --user-data-dir="c:\ChromeDebug" --test-type --disable-web-security

    chrome 浏览器的快捷方式后面加参数 --user-data-dir="c:\ChromeDebug" --test-type --disable-web-security

  2. 1、Azure Devops之什么是Azure DevOps

    什么是Azure DevOps 1.师出名门:是微软推出的一个集项目管理.开发管理.测试管理的一个服务套件. 2.历史:前身是微软在2005年推出的Team foundation Server一个专门 ...

  3. 记录--Vue3 封装 ECharts 通用组件

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 按需导入的配置文件 配置文件这里就不再赘述,内容都是一样的,主打一个随用随取,按需导入. import * as echarts from ...

  4. 记录--微信调用jssdk--Invalid Signature, updateAppMessageShareData: denied等问题

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 最近在做安卓内嵌入H5活动页拉新活动,遇到的棘手问题记录下, 一是为了日后遇到同样问题好回顾,二是希望能帮到有同样问题的兄弟. 废话不多说 ...

  5. Redis无法向磁盘写入RBD数据

    2020-12-09 11:52:25|21965|ERROR|storage/DRedisAsyncCallback.cpp:394[cbIncrby]Cmd 'INCRBY' failed, ke ...

  6. 【教程】深入探究 JS代码混淆与加密技术

    引言 在网络世界中,保护代码安全是至关重要的一环.JS代码混淆与加密技术则成为了开发者们常用的手段之一.本文将深入探讨混淆和加密的概念,以及其实现原理和应用方法,帮助读者更好地了解并运用这些技术. 概 ...

  7. [Git]入门及其常用命令

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/17993832 出自[进步*于辰的博客] Git 的难点 ...

  8. 使用maven命令安装Oracle的jar包到本地仓库

    mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.4 -Dpackaging=jar ...

  9. FCOSv2:原作的扩展版本,小修小改,性能高达50.4AP | IEEE T-PAMI 2020

    本文是对FCOS的小修小改,最终性能达到了50.4AP,可谓相当强劲了,大家在工程上可以参考其中的改进以及提升方法   来源:晓飞的算法工程笔记 公众号 论文: FCOS: A Simple and ...

  10. KingbaseES数据库适配Activiti7 didn't put process definition问题处理过程

    一.Activiti介绍 Activiti是一个轻量级的java开源BPMN 2工作流引擎.目前以升级至7.x,支持与springboot2.x集成. 二.项目环境 Spring Boot版本2.2. ...