日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一、为了OFFER系列 | 阿里云天池赛在线编程:移动的圆

發布時間:2024/10/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一、为了OFFER系列 | 阿里云天池赛在线编程:移动的圆 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

@Author:Runsen

大四刷題拼offer系列,不拼不行啊

關于:阿里云天池賽在線編程的介紹。

阿里云天池賽在線編程:在線編程限時賽,參與刷題,提升能力,獎品多多,助你晉級拿offer!

本人并沒有參加,而是看看試題,自己不會也當作學習下。

移動的圓

描述:軌跡將指定兩個圓A和B的圓心坐標(x,yx,yxy)和半徑rrr,現給你一個點PPP,使圓AAA圓心沿直線運動至點PPP。請問圓AAA在運動過程中是否會與圓B相交?(運動過程包括起點和終點)若會相交返回1,否則返回-1。

輸入:[0,0,2.5,3,2,0.5,0,2] 輸出:1 樣例解釋:圓A的圓心(00),半徑為2.5,圓B的圓心(32),半徑為0.5,點P(02),如圖:

輸入:[0,0,2,5,0,1,0,2] 輸出:-1 樣例解釋:圓A的圓心(00),半徑為2,圓B的圓心(50),半徑為1,點P(02

難度:中等。一開始就是使用圓相交的判斷條件:r1?r2<=dis<=r1+r2r1-r2 <= dis <= r1+r2r1?r2<=dis<=r1+r2。兩個圓相交的充要條件是兩圓圓心距大于兩半徑差的絕對值,小于兩半徑和 ,相切就是加上等于。

考點:點到線段的最短距離,兩個點的距離公式。

關鍵是如何找到運動過程中的最小距離。

最小距離肯定是在同一條直線上,但是也有可能存在不在同一條直線的可能。那么最小距離就是兩個端點值。

但是又有可能是大圓A 里面裝著小圓B (這點必須考慮)

本題的通過率是16.77%。我覺得也很難,浪費了一個早上??荚嚲徒o你半個小時一題,可見我是多少的菜比。下面是自己的通過代碼,其實想多下,就很簡單

@Author: Runsen @微信公眾號: 潤森筆記 @博客: https://blog.csdn.net/weixin_44510615 @Date: 2020/8/28 '''class Solution:"""@param position: the position of circle A,B and point P.@return: if two circle intersect return 1, otherwise -1."""def IfIntersect(self, position):x1, y1, r1, x2, y2, r2, xp, yp = position# 向量的表示vector_x1 = x2 - x1vector_y1 = y2 - y1vector_x2 = x2 - xpvector_y2 = y2 - ypvector_x3 = xp - x1vector_y3 = yp - y1# y=ax+b try:a = (y1 - yp) / (x1 - xp)b = y1 - a * x1except ZeroDivisionError:# 存在 0=ax+ba = 1b = (-1) * x1# 直線的距離公式d = abs(a * x2 - y2 + b) / ((a ** 2 + 1) ** (1 / 2))# 如果在圓內沒有接觸 大圓A 里面裝著小圓B (必須考慮) if r1 ** 2 > r2 ** 2 + (x2 - x1) ** 2 + (y2 - y1) ** 2 and r1 ** 2 > r2 ** 2 + (x2 - xp) ** 2 + (y2 - yp) ** 2:return -1# 下面就是常見的情況:向量小于0,說明余弦角大于90,也是就最小距離取不到if (vector_x1 * vector_x3 + vector_y1 * vector_y3) <= 0 or -1 * (vector_x2 * vector_x3 + vector_y2 * vector_y3) <= 0:# 那么最小距離就是兩個端點值,那么就判斷r1+r2 小于就有交集,返回1if (((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5) <= r1 + r2 or (((x2 - xp) ** 2 + (y2 - yp) ** 2) ** 0.5) <= r1 + r2:return 1else:return -1else:# 下面就是角小于90,正常情況if d <= r1 + r2:return 1else:return -1

在查閱的時候,看了標準的做法。代碼我都看不懂,

class Solution:"""@param position: the position of circle A,B and point P.@return: if two circle intersect return 1, otherwise -1."""def IfIntersect(self, position):def getDistance(x, y, x1, y1, x2, y2):dx = x2 - x1dy = y2 - y1# 沒有移動if dx == 0 and dy == 0:dx = x - x1dy = y - y1return float(dx ** 2 + dy ** 2) ** 0.5# what is t ? # r ^ 2 = float(dx ** 2 + dy ** 2)# (x - x1) / r * dx / r # cosine # (y - y1) / r * dy / r # sinet = ((x - x1) * dx + (y - y1) * dy) / float(dx ** 2 + dy ** 2)# if t < 0:dx = x - x1dy = y - y1elif t > 1:dx = x - x2dy = y - y2else:dx = x - (x1 + t * dx)dy = y - (y1 + t * dy)return float(dx ** 2 + dy ** 2) ** 0.5x1, y1, r1, x2, y2, r2, xp, yp = position dis = getDistance( x2, y2, x1, y1, xp, yp)return -1 if not r1 - r2 <= dis <= r1 + r2 else 1

總結

以上是生活随笔為你收集整理的一、为了OFFER系列 | 阿里云天池赛在线编程:移动的圆的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av高清在线免费观看 | www.xxx.日本 | 久久综合九色综合欧美狠狠 | 图片区小说区视频区 | 国产九九九 | 一本大道综合伊人精品热热 | 二区久久| 日韩夜夜操| 欧美日韩aaa| 亚洲2022国产成人精品无码区 | 久久亚洲天堂 | 麻豆传媒网站在线观看 | 久久综合婷婷国产二区高清 | 日韩大片在线免费观看 | 少妇人妻偷人精品视频蜜桃 | 欧美女优一区 | 亚洲视频免费观看 | 草比视频在线观看 | 色91在线 | 亚洲在线视频免费观看 | 欧美在线观看不卡 | 成人在线激情视频 | 国产成人精品视频一区二区 | 在线中文字幕第一页 | 波多野结衣网站 | 免费在线亚洲 | 精品国偷自产一区二区三区 | 97视频免费在线观看 | 天堂在线视频免费观看 | 蜜臀精品 | 毛片网站网址 | 国产乱人乱偷精品视频 | 亚洲成人网在线观看 | 久久av一区二区三区 | 超碰pron| 国产乱淫片视频 | 国产精品伦一区二区三区免费看 | 欧美少妇精品 | 一道本av在线 | 91久久国产综合久久91精品网站 | 国产露出视频 | 操碰97| 神宫寺奈绪一区二区三区 | 一级成人黄色片 | 亚洲国产三级 | 亚洲视频在线观看一区二区三区 | 亚洲一区在线免费观看 | 国产资源精品 | 91精品观看 | 在线观看av黄色 | 国产精品毛片va一区二区三区 | 日韩欧美久久精品 | 男人的天堂av女优 | 一区二区三区毛片 | 日本久久精品视频 | www,av在线| 国产一级黄色电影 | 久热这里只有 | 日一日干一干 | 欧美乱大交 | 久草免费在线 | 借种(出轨高h) | 国产黄色片在线观看 | 欧美黄色免费视频 | 狠狠人妻久久久久久综合麻豆 | 亚洲人在线观看视频 | 成人午夜视频在线播放 | 色狠狠av老熟女 | 国产一区二区高清视频 | 欧美亚洲精品在线 | 久操av在线| 毛片www | 国产熟女一区二区三区五月婷 | 亚洲50p | 日本亚洲最大的色成网站www | a资源在线观看 | 懂爱av | 女人张开双腿让男人捅 | 婷婷亚洲精品 | 人人澡人人爽 | 欧美综合图区 | 亚洲精品小视频在线观看 | 先锋影音av资源在线 | 国产女女做受ⅹxx高潮 | 国产一级片精品 | 日本三级黄在线观看 | 久久另类ts人妖一区二区 | 国产精品毛片久久久久久久 | 国产在线视频网 | 亚洲女人被黑人巨大进入 | 男女免费网站 | 台湾swag在线观看 | 西西444www大胆无视频 | xxxx日本黄色 | 国产成人精品视频在线观看 | 免费av影片| 亚洲视频色图 | 毛片基地站 | 五月综合激情日本mⅴ |