AOJ 0116 : Area of Polygon
大小比較だけなのでsinの値だけでOK
EQ判定のみ誤差った(謎)
#include<stdio.h> #include<math.h> #include<stdlib.h> #define EPS 1e-6 #define rep(i,n) for(i = 0 ; i < n ; ++i) #define EQ(a,b) (fabs(a - b)<EPS) int main() { int i ,j ; for(;;){ int n ;double dat[2]; rep(i,2){ dat[i] = 0.0; scanf("%d",&n); if(n == 0)return 0; double all = 360.0; rep(j,n-1){ double q; scanf("%lf",&q); all -= q; dat[i] += sin(q / 180.0 * M_PI); } dat[i] += sin(all / 180.0 * M_PI); } printf("%d\n",EQ(dat[0],dat[1])?0:dat[0]>dat[1]?1:2); } }