算法竞赛 之果园里的树
来源:互联网 发布:thinkphp socket编程 编辑:程序博客网 时间:2024/04/29 09:56
/*果园里的树*/
#include<stdio.h>
#include<iostream>
#include<math.h>
#include<string>
using namespace std;
#define max 1000
int a[max][max];
double useful(double x0, double y0, double x1, double y1, double x2, double y2)
{
return x0*y1 + x2*y0 + x1*y2 - x2*y1 - x0*y2 - x1*y0;
}
int main()
{
double x0, y0, x1, y1, x2, y2;
while (cin >> x0 >> y0 >> x1 >> y1 >> x2 >> y2)
{
/*x0 = int(x0 * 10);
y0 = int(x0 * 10);
x1 = int(x0 * 10);
y1= int(x0 * 10);
x2 = int(x0 * 10);
y2= int(x0 * 10);*/
double abc;
abc = useful(x0, y0, x1, y1, x2, y2) / 2.00;
if (abc < 0) abc = -1 * abc;//至此算出三角形有向面积
double ymaxone = y0;
double yminone = y0;
double xminone = x0;
double xmaxone = x0;
if (ymaxone < y1)ymaxone = y1;
if (ymaxone < y2)ymaxone = y2;
if (yminone > y1)yminone = y1;
if (yminone > y1)yminone = y2;
if (xmaxone < x1)xmaxone = x1;
if (xmaxone < x2)xmaxone = x2;
if (xminone > x1)xminone = x1;
if (xminone > x1)xminone = x2;
// cout << ymaxone << endl << yminone << endl << xmaxone << endl << xminone << endl;
int count = 0;
for (int i = ymaxone; i >= yminone; i--)//相当于y
{
for (int j = xmaxone; j >= xminone; j--)//相当于x
{
double bc = useful(j, i, x1, y1, x2, y2) / 2.00;
double ac = useful(x0, y0, j, i, x2, y2) / 2.00;
double ab = useful(x0, y0, x1, y1, j, i) / 2.00;
if (bc < 0)bc = -1 * bc;
if (ac < 0)ac = -1 * ac;
if (ab < 0)ab = -1 * ab;
double k1 = abc;
double k2 = bc + ac + ab;
if (k2 < 0) k2 = -1 * k2;
double c = k1 - k2;
if (c < 0)c = c*(-1);
//cout << i << " " << j << " " << k1 << " " << k2 << " " << c << endl;
if (c <= 0.01) count++;
}
}
cout << count << endl;
}
system("pause");
return 0;
}
- 算法竞赛 之果园里的树
- 算法竞赛入门经典 5.4.3果园里的树
- 经典算法之果园里的树
- 算法入门之果园里的树
- 算法实践之4 :果园里的树
- 算法竞赛入门经典:第五章 基础题目选解 5.11果园里的树
- 【py交易】算法竞赛入门经典5.4.3果园里的树 Python
- 果园里的树
- 果园里的树
- 果园里的树
- 果园里的树
- 果园里的树
- 果园里的树
- 果园里的树
- 果园里的树
- 果园里的数~算法竞赛入门(基础篇-5.4.3)
- 算法入门经典——果园里的树
- 例题5.4.3,果园里的树
- ext2/3文件系统存储,查找,新建,删除文件机制详解
- JQuery 控制 checkbox 实现全选/反选功能
- 开始了我的记录生活之旅!
- 模拟也有动脑子,类似蛇形填数
- 检测调试器和trace
- 算法竞赛 之果园里的树
- ORA-00439: feature not enabled: Managed Standby
- HDU 5057 Argestes and Sequence 分块
- Angularjs ng-repeat 中对元素的validate处理错误问题
- Java查找数组中的最小值
- 计算机网络(浅谈FTP协议)
- Thrift C++ Server demo 实现
- bzoj1188 分裂游戏 博弈论
- 微信分享标题和图片设置