点赞(0)
 

0.0分

5 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

YangleiGe 4月前 回复TA
还有,现在用你的代码进行提交,测试全没过……
YangleiGe 4月前 回复TA
@YangleiGe 代码不全,这大致是我的思路,就是速度分解vx和vy,但是测试就过了一例……
YangleiGe 4月前 回复TA
import math
while True:
    lst = list(map(int, input().strip().split()))
    if max(lst) == 0:
        break
    L, W, x, y, R, a, v, s = tuple(lst)
    vx = v * math.cos(math.pi*a/180)
    vy = v * math.sin(math.pi*a/180)
    for i in range(s):
        x += vx
        y += vy
        if x >= L-R:
            x -= vx
            t = 1-((L-R)-x)/abs(vx)
            vx = -vx
            x = (L-R) + vx*t
        if x <= R:
            x -= vx
            t = 1-(x-R)/abs(vx)
            vx = -vx
            x = R + vx*t
        if y >= W-R:
            y -= vy
            t = 1-((W-R)-y)/abs(vy)
1年前 回复TA
fw