#include #include #include #define M_PI 3.14159265358979323846 int cmpr(float *x,float *y) { if (*x>*y) return 1 ; else { if (*x<*y) return -1 ; else return 0.0 ; } } int visible(float x,float y) { float r = y-x ; while (r>2.0*M_PI) r-=2.0*M_PI ; while (r<0.0) r+=2.0*M_PI ; return rr*r) continue ; a[m]=atan2(dy,dx) ; #if 0 printf ("m=%d x=%d y=%d a=%g\n",m,x,y,a[m]) ; #endif m++ ; } if (m==0) { printf("0\n") ; return ; } qsort(a,m,sizeof(float),cmpr) ; #if 0 for (i=0;ibest) best=len ; if (len==m) break ; } if (best==m) break ; i++ ; len-- ; if (len<1) { end=i ; len=1 ; } } printf("%d\n",best) ; } int main() { float x,y,r ; int n ; for(;;) { scanf("%g %g %g",&x,&y,&r) ; if (r<0) break ; scanf("%d ",&n) ; solve(x,y,r,n) ; } return 0 ; }