绘图机器-

题目
绘图机器的绘图笔初始位置在原点(0,0)机器启动后按照以下规则来进行绘制直线。
1.尝试沿着横线坐标正向绘制直线直到给定的终点E
2.期间可以通过指令在纵坐标轴方向进行偏移,offsetY为正数表示正向偏移,为负数表示负向偏移
给定的横坐标终点值E以及若干条绘制指令,
请计算绘制的直线和横坐标轴以及x=E的直线组成的图形面积。
输入描述
·首行为两个整数N和 E
·表示有N条指令,机器运行的横坐标终点值E
·接下来N行,每行两个整数表示一条绘制指令x offsetY
·用例保证横坐标x以递增排序的方式出现
·且不会出现相同横坐标x
取值范围
0<N<=10000
0<=x<=E<=20000
-10000<=offsetY<=10000
输出描述
一个整数表示计算得到的面积 用例保证结果范围在0到4294967295之内。
示例1
输入
4 10
1 1
2 1
3 1
4 -2
输出 12
说明 


示例2
输入
2 4
0 1
2 -2
输出 4
说明

def main():
    import sys
    n, e = map(int, sys.stdin.readline().split())
    points = [list(map(int, sys.stdin.readline().split())) for _ in range(n)]
    solution(n, e, points)
def solution(n, e, points):
    cur_x = 0
    cur_y = 0
    area = 0
    for i in range(n):
        x, y = points[i]
        area += (x - cur_x) * abs(cur_y)
        cur_x = x
        cur_y += y
    if cur_x < e:
        area += (e - cur_x) * abs(cur_y)
    print(area)
if __name__ == "__main__":
    main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值