编程算面积

题目描述:
绘图机器的绘图笔初始位置在原点(0, 0),机器启动后其绘图笔按下面规则绘
制直线:
1)尝试沿着横向坐标轴正向绘制直线,直到给定的终点值 E。
2)期间可通过指令在纵坐标轴方向进行偏移,并同时绘制直线,偏移后按规则
1 绘制直线;指令的格式为 X offsetY,表示在横坐标 X 沿纵坐标方向偏移,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
说明:
通过操作机器最后绘制了如下图形(蓝色为绘制笔绘制的直线)
在这里插入图片描述

#include<bits\stdc++.h>
using namespace std;
int main()
{
	int x,offsety;
	long long int s=0;
	int n,e;
	int x0=0,y0=0;
	cin>>n>>e;
	while(n>0)
	{
		cin>>x>>offsety;
		s+=abs(y0)*abs(x-x0);
		x0=x;
		y0+=offsety;
		n--;
	}
	s+=abs(e-x0)*abs(y0);
	cout<<s<<endl;
	return 0;
}
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值