LiuHai

import java.util.Scanner;
public class LiuHai {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		int[][] arr=new int[n][2];
		for(int i=0;i<n;i++) {
			for(int j=0;j<2;j++) {
				arr[i][j]=in.nextInt();
			}
		}
		double area=0;
		/**
		 * arr[i][0]表示行坐标,arr[i][1]表示纵坐标
		 * 第一个:(arr[0][0],arr[0][1])
		 * 第二个:(arr[1][0],arr[1][1])
		 * 第三个:(arr[2][0],arr[2][1])
		 * 第一段x长arr[1][0]-arr[0][0]      第一段y长  maxarr([1][1],arr[0][1])
		 * 第二段x长arr[2][0]-arr[1][0]  第二段y长max(arr[2][1],arr[1][1])
		 */
		/*for(int i=0;i<n-1;i++) {
			for(int j=0;j<2-1;j++) {
				area=(arr[i+1][j]-arr[i][j])*Math.max(arr[i+1][j+1], arr[i][j+1]);
			}
		}*/
		
		/**
		 * if(arr[i][0]==0||arr[i][1]==0)   说明是三角形
		 * 7
0 0
2 3
3 2
4 3
5 1
6 3
8 0

3
0 0
2 2
4 0
		 */
		for(int i=0;i<n-1;i++) {
			for(int j=0;j<2-1;j++) {
				if(arr[i][0]=='0'||arr[i][1]=='0') {
					area+=(arr[i+1][j]-arr[i][j])*Math.max(arr[i+1][j+1], arr[i][j+1]);
				}else {
					area+=(arr[i+1][j]-arr[i][j])*(arr[i+1][j+1]+arr[i][j+1]);
				}
			}
		}
		System.out.printf("%.2f",area/2);
	}
}
发布了17 篇原创文章 · 获赞 26 · 访问量 7443

猜你喜欢

转载自blog.csdn.net/qq_41629684/article/details/89526032