博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 10112 - Myacm Triangles
阅读量:4638 次
发布时间:2019-06-09

本文共 1926 字,大约阅读时间需要 6 分钟。

UVa第一卷最后一题。

求内部不含点并且面积最大的三角形。

暴力。

代码如下:

1 #include
2 #include
3 #include
4 #include
5 6 using namespace std; 7 8 typedef struct node 9 {10 char ch;11 int x, y;12 }node;13 14 node dot[20];15 16 double mianji(int i, int j, int k)    //求三角形的面积17 {18 return fabs(0.5*((dot[k].y-dot[i].y)*(dot[j].x-dot[i].x)-(dot[j].y-dot[i].y)*(dot[k].x-dot[i].x)));19 }20 21 int judge(int i, int j, int k, int l)    //判断点是否在三角形之内22 {23 if (mianji(i,j,k)>=mianji(j,k,l)+mianji(i,k,l)+mianji(i, j, l))24 return 1;25 return 0;26 }27 28 int main()29 {30 int n, i, j, k, l;31 char s[3];32 while(cin >> n, n)33 {34 memset(s, 0, sizeof(s));35 for (i=1; i<=n; i++)36 cin >> dot[i].ch >> dot[i].x >> dot[i].y;37 double maxs=0;38 for (i=1; i<=n-2; i++)39 {40 for (j=i+1; j<=n-1; j++)41 {42 for (k=j+1; k<=n; k++)43 {44 int flag=0;45 for (l=1; l<=n; l++)46 {47 if (l == i || l == j || l == k)48 continue;49 if (judge(i, j, k, l))50 {51 flag=1;52 break;53 }54 }55 double t=mianji(i, j, k);56 if (flag == 0 && maxs < t)57 {58 maxs=t;59 s[0]=dot[i].ch;60 s[1]=dot[j].ch;61 s[2]=dot[k].ch;62 }63 }64 }65 }66 cout << s[0] << s[1] << s[2] << endl;67 }68 return 0;69 }

转载于:https://www.cnblogs.com/zrq495/archive/2012/08/17/2644638.html

你可能感兴趣的文章
IntelliJ idea学习资源
查看>>
Django Rest Framework -解析器
查看>>
ExtJs 分组表格控件----监听
查看>>
Hibernate二级缓存配置
查看>>
LoadRunner常用术语
查看>>
关于jedis2.4以上版本的连接池配置,及工具类
查看>>
记忆讲师石伟华微信公众号2017所有文章汇总(待更新)
查看>>
mechanize (1)
查看>>
FactoryBean
查看>>
Coolite动态加载CheckboxGroup,无法在后台中获取
查看>>
如何在我们项目中利用开源的图表(js chart)
查看>>
nfs服务器工作原理
查看>>
C3P0连接池工具类使用
查看>>
SVN常用命令备注
查看>>
孩子教育
查看>>
解决Cacti监控图像断断续续问题
查看>>
结构体的传参理解成员的存储方式
查看>>
python 进程与线程(理论部分)
查看>>
什么是API
查看>>
Java反射中method.isBridge() 桥接方法
查看>>