Java 题目 计算面积
[计算面积]
绘图机器的绘图笔初始位i在原点(0.0)。 机器启动后其绘图笔按下面规则绘制直线:
1 )尝试沿着横向坐标轴正向绘制直线,直到给定的终点值E,
2 )期间可通过指令在纵坐标轴方向进行偏移。井同时恰制直线,偏移后按规则1绘制直线;指令的格式为X offsetY。表示在横坐标X沿纵坐标方向偏移, offsetY为正数表示正向偏移,为负数表示负向偏移。
给定了横坐标格点值E.以及若干条检制指令。请计算给制的直线和横坐标轴。以及X-E的直线组成图形的面积。
输入模述:
首行为两个整数NE。表示有N条指令。机器运行的横坐标終点值E.
接下来N行。每行两个整数表示-条给制指令x osorr。用例保证横坐标X以递增排序方式出现。且不会出现相同横坐标义。取值范围:0 输出描述: 一个整数,表示计算得到的面积。用例保证.结果范围在0-4294967295内 示例1: 输入 4 10 1 1 2 1 3 1 4 -2 输出 12 这个题主要理解题意,import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] a1 = sc.nextLine().split(" ");
int count = Integer.parseInt(a1[0]);
int total = Integer.parseInt(a1[1]);
long result = 0;
int last_x = 0, last_y = 0;
for(int i = 0; i < count; i++) {
String[] a2 = sc.nextLine().split(" ");
int x = Integer.parseInt(a2[0]);
int y = Integer.parseInt(a2[1]);
result = result + (x- last_x) * Math.abs(last_y);
last_x = x;
last_y = y;
}
result = result + (total - last_x) * Math.abs(last_y);
System.out.println(result);
}
}