http://acm.hdu.edu.cn/search.php?field=problem&key=HDOJ2009暑期集训内部赛(5)&source=1
2299 Largest Triangle——ac。
计算几何的题目,不算难吧。一开始超时,但其实并不会,就是找一个多边形,每次截去一个三角形,最后留下的三角形最大是多少。其实就是找出这个多边形的顶点能够组成的最大的三角形 。还是贴下代码吧。
#include<iostream>
using namespace std;
void main()
{
int n;
int i,j,k;
int x[150],y[150];
double min;
double s;
while(scanf("%d",&n)!=EOF)
{
min=-1;
for(i=0;i<n;i++)
scanf("%d%d",&x[i],&y[i]);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
for(k=j+1;k<n;k++)
{
s=(double)((x[i]-x[j])*(y[k]-y[j])-(y[i]-y[j])*(x[k]-x[j]))/2;
if(s<0)
s=-s;
if(s>min)
min=s;
}
printf("%.1lf/n",min);
}
}
2793 Sum of Tribonacci Numbers——赛后ac。
矩阵的题目。现在已经练了。其实矩阵构造的话要多做几个题,做多了经验就会多起来。
2796 Coin Piles——赛后ac.
在做题时,其实思路是对的,但在编写代码时,为了方便就改了一个地方,导致会有情况出错。所以思路是关键,一定要对,编代码是要改动必须谨慎。