2019牛客暑期多校训练营(第一场) Random Point in Triangle (推结论或随机数猜结论)

正解证明:https://www.cnblogs.com/WAautomaton/p/11211864.html

(着实看不懂。。。。。太菜了。)

当然也可以随机数确定点P,多随机几个点,便可以得到36E是其面积的10点多倍。因为是整数,11倍即可。

#include <bits/stdc++.h>
#define ll long long 

using namespace std;
const int N = 1e3; 
struct point 
{	ll x,y; 
}ps[10];
ll S(int n)
{
	ll ans=ps[0].y*(ps[n-1].x-ps[1].x);
	for(int i=1;i<3;i++)
	{
		ans+=ps[i].y*(ps[i-1].x-ps[(i+1)%n].x);		
	}
	if(ans<0) ans=-ans;//顺序不确定 
	return ans;
}
int main(void)
{
	double s; 
	ll ans;
	while(~scanf("%lld%lld%lld%lld%lld%lld",&ps[0].x,&ps[0].y,&ps[1].x,&ps[1].y,&ps[2].x,&ps[2].y))
	{
			ans=11*S(3);
			printf("%lld\n",ans);	
	}
	return 0;
}
/*
1 1 5 6 4 9
*/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值