2009-01-25 23:13:47來源不明

ACM 11437 11437 - Triangle Fun

型態真是難以捉摸。

/***********************************************************/

  1. #include<stdio.h>   
  2. #include<stdlib.h>   
  3. main()   
  4. {   
  5.  int a,n,c;   
  6.  double  ans,Ax,Ay,Bx,By,Cx,Cy,time=0;   
  7.  while(scanf("%d",&n)==1)   
  8.   {   
  9.    for(a=0;a<n;a++)   
  10.     {   
  11.      time++;   
  12.     scanf("%lf %lf %lf %lf %lf %lf",&Ax,&Ay,&Bx,&By,&Cx,&Cy);   
  13.     ans=(Ax*By-Ay*Bx+Bx*Cy-By*Cx+Cx*Ay-Cy*Ax)/14.0;   
  14.     if(ans<0) ans=ans*(-1);   
  15.     c=ans; /*爛型態問題 害我吃好多WA CE*/  
  16.     printf("%d\n",c+(ans-c>=0.5));   
  17.     }   
  18.   }   
  19.  return 0;   
  20. }

上一篇:ACM 591 Box of Bricks

下一篇:ACM 441 Lotto

kevin830222 2010-08-23 02:48:12

不過 還是問一下
A/7 到底是怎麼算出來的???
敝人數學不好 懇請數學組協助

kevin830222 2010-08-23 02:46:40

可以引用 #incllude<math.h> 中的 fabs() 取浮點數的絕對值
EX:
double x1,x2,x3,y1,y2,y3;
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
double A=fabs(x1*y2+x2*y3+x3*y1-x2*y1-x3*y2-x1*y3)/2.0;
printf("%.0lf\n",A/7.0);