• 大小: 237.56 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-24
  • 语言: 其他
  • 标签: HDU  解题报告  

资源简介

HDU 1010-2500解题报告,ACMer可以借鉴一下

资源截图

代码片段和文件信息

#define cin fin
//#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

#define eps 1e-8

double x[1001]y[1001];

double area(int n double x[] double y[])
{
  int i;
  double ans = 0;
  for(i=1; i<=n; i++)
    ans += x[i]*y[i-1]-y[i]*x[i-1];
  return fabs(ans/2);
}
double cross(int aint bint c)
{
  return (x[b]-x[a])*(y[c]-y[a])-(y[b]-y[a])*(x[c]-x[a]);
}
double dot(int aint bint c)
{
  return (x[b]-x[a])*(x[c]-x[a])+(y[b]-y[a])*(y[c]-y[a]);
}
int dblcmp(double d)
{
  if(fabs(d)    return 0;
  return (d>0)?1:-1;
}
int between(int a int b int c) //a is between b->c
{
  return dblcmp(dot(abc));
}
int intersect(int s int t)
{
  int d1d2d3d4;
  d1 = dblcmp(cross(ss+1t));
  d2 = dblcmp(cross(ss+1t+1));
  d3 = dblcmp(cross(tt+1s));
  d4 = dblcmp(cross(tt+1s+1));
  if(d1*d2<0 && d3*d4<0)
    return 1;
  if (d1==0 && between(tss+1)<=0 ||
      d2==0 && between(t+1ss+1)<=0 ||
      d3==0 && between(stt+1)<=0 ||
      d4==0 && between(s+1tt+1)<=0)
    return 2;
  return 0;
}
int main()
{
  fstream fin(“d:\in1010.txt“);
  int nijncase=0;
  while(cin>>n && n)
  {
    for(i=1; i<=n; i++)
      cin>>x[i]>>y[i];
    x[0]=x[n]; y[0]=y[n];
    if (ncase)
      cout<    cout<<“Figure “<<++ncase<<“: “;
    int flag=1;
    if(n<3 || n==3 && dblcmp(cross(123))==0)
    {
      flag = 0;
      goto output;
    }
    for(i=n-2; i>1; i--)
      if(intersect(0i))
      {
        flag = 0;
        goto output;
      }
    for(i=n-3; i>0; i--)
      for(j=i+2; j        if(intersect(ij))
          {
            flag = 0;
            goto output;
          }
output:
    {
      if (flag)
        printf(“%.2lf\n“ area(nxy));
      else
        cout<<“Impossible\n“;
    }
  }
  return 0;
}
//-------------------------------------------------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      33792  2009-09-21 14:56  浙江大学 解题报告\Debug\vc60.idb

     文件      28672  2009-09-21 14:56  浙江大学 解题报告\Debug\vc60.pdb

     文件       2191  2011-07-26 14:52  浙江大学 解题报告\zp1010_p.cpp

     文件       3442  2011-07-26 14:53  浙江大学 解题报告\zp1010_w.cpp

     文件        702  2004-10-25 20:52  浙江大学 解题报告\zp1016.cpp

     文件        726  2011-07-16 12:27  浙江大学 解题报告\zp1025.cpp

     文件        790  2005-05-20 23:39  浙江大学 解题报告\zp1028.cpp

     文件       2465  2005-05-05 18:33  浙江大学 解题报告\zp1032.cpp

     文件       1766  2005-05-12 19:03  浙江大学 解题报告\zp1038.cpp

     文件        588  2005-05-05 23:14  浙江大学 解题报告\zp1045.cpp

     文件        548  2005-05-05 23:30  浙江大学 解题报告\zp1048.cpp

     文件        895  2005-05-03 19:14  浙江大学 解题报告\zp1058.cpp

     文件       2165  2005-04-25 22:53  浙江大学 解题报告\zp1060.cpp

     文件        952  2004-09-10 15:52  浙江大学 解题报告\zp1061.cpp

     文件       1671  2005-04-26 21:12  浙江大学 解题报告\zp1062.cpp

     文件       2011  2005-05-17 18:48  浙江大学 解题报告\zp1063.cpp

     文件       2618  2004-11-15 21:39  浙江大学 解题报告\zp1066.cpp

     文件       1065  2005-04-29 22:47  浙江大学 解题报告\zp1067.cpp

     文件       1350  2004-10-28 13:43  浙江大学 解题报告\zp1073.cpp

     文件        574  2004-10-01 10:28  浙江大学 解题报告\zp1074.cpp

     文件        654  2005-07-01 13:33  浙江大学 解题报告\zp1074_p.cpp

     文件        713  2004-09-17 14:19  浙江大学 解题报告\zp1078.cpp

     文件        722  2004-09-17 14:22  浙江大学 解题报告\zp1078_b.cpp

     文件       1938  2005-05-05 17:37  浙江大学 解题报告\zp1081.cpp

     文件       1821  2005-04-25 16:50  浙江大学 解题报告\zp1082.cpp

     文件       1348  2005-04-23 12:00  浙江大学 解题报告\zp1084.cpp

     文件       1073  2005-04-29 15:23  浙江大学 解题报告\zp1086.cpp

     文件       2715  2005-05-06 17:06  浙江大学 解题报告\zp1088.cpp

     文件        936  2005-05-06 17:05  浙江大学 解题报告\zp1088_s.cpp

     文件        946  2004-10-31 14:36  浙江大学 解题报告\zp1090.cpp

............此处省略327个文件信息

评论

共有 条评论