AT812 Solution
解题方法
计算由a,b,c三点构成的三角形的面积,应该怎么计算呢?
记得小学时候的数格子吗?当时我们是怎么计算的?
对了,是正方形减去三个三角形
公式:
因式分解后:
最后代入即可
代码:
#include <bits/stdc++.h>
using namespace std;
struct node
{
long long x;
long long y;
};
long long ans=0;
node a[110];
long long n;
long long lenx(int b1,int b2)
{
return a[b1].x-a[b2].x;
}
long long leny(int b1,int b2)
{
return a[b1].y-a[b2].y;
}
int main()
{
cin >> n;
for (int i=1; i<=n; i++)
{
cin >> a[i].x >> a[i].y;
}
for (int i=1; i<=n; i++)
{
for (int j=1; j<i; j++)
{
for (int k=1; k<j; k++)
{
long long S=lenx(i,j)*leny(i,k)-leny(i,j)*lenx(i,k);//公式运用
if (S!=0&&S%2==0) ans++;
}
}
}
cout << ans << endl;
return 0;
}