1. 程式人生 > 其它 >杭電oj 2036

杭電oj 2036

技術標籤:杭電

這題使用鞋帶公式
在這裡插入圖片描述

#include<iostream>
#include<cstdio>
#include<cstring>
int n,a[1000000],b[1000000];
using namespace std;
int main(){
	while(cin >> n)//輸入多邊形邊數
	{ 
	if(n == 0)break;//停止計算
	int i;
	for(i = 1; i <= n; i++){//輸入x,y
		cin >> a[i];
		cin >> b[i];
		}
	double q = 0.0
; for(i = 1; i <= n; i++){//使用公式計算 if(i == n) q += a[i]*b[1] - a[1] * b[i]; else q += a[i]*b[i+1] - a[i+1] * b[i]; } printf("%.1f\n",q / 2);//輸出 } return 0; }