[题] 改革春风吹满地 #图论 #多边形面积

题目

HDU 2036 改革春风吹满地

题解

参考博客:HDU 2036 改革春风吹满地

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
//叉乘计算面积的公式,以(0,0)为起始点划分
int main() {
	int n;
    while(~scanf("%d", &n) && n) {
    	double sum = 0, x[N], y[N];
        for(int i = 1; i <= n; i ++) {
        	scanf("%lf%lf", &x[i], &y[i]);
        	if(i > 1)
        		sum += x[i - 1] * y[i] - x[i] * y[i - 1];
		}
        sum += x[n] * y[1] - x[1] * y[n];
        printf("%.1lf\n", 0.5 * sum);
    }
    return 0;
}
相关推荐
Nil2089 小时前
leetcode 118杨辉三角
算法·leetcode·职场和发展
NeilYuen10 小时前
【C++】STL源码仿写(二):vector
开发语言·c++
郝学胜_神的一滴11 小时前
游戏引擎原理与实践 04:拆解引擎基础系统与内存管理
c++·游戏
wanderist.11 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
All for pursuit.11 小时前
【设计-1】208.实现Trie (前缀树)
数据结构·c++·算法·leetcode
weixin_3077791311 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
青少儿编程课堂12 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
倒头就睡的小比特12 小时前
C++多态
c++
光影少年12 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
HEJOO912 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法