#define NDEBUG #include #include #include #include #include #include #include #include #include #include using namespace std; #undef max #undef min #define max(x,y) ((x)>(y)?(x):(y)) #define min(x,y) ((x)<(y)?(x):(y)) #ifdef NDEBUG #define dprintf #else #define dprintf printf #endif int chomp(char *s) { int len; len = strlen(s); while(len > 0 && (s[len-1] == '\r' || s[len-1] == '\n')) s[--len] = '\0'; return len; } typedef struct { double x; double y; } POINT; POINT pt[300]; double dist[300][300]; int n; POINT cen; int main() { int i,j; int ce1, ce2; // circle edge double d; int m; // max; int t; double dx, dy; while(1) { scanf("%d\n", &n); if (n == 0) break; for(i=0; i 2.0) continue; // calc cen dx = pt[ce2].x-pt[ce1].x; dy = pt[ce2].y-pt[ce1].y; d = sqrt(dx*dx+dy*dy); cen.x = pt[ce1].x + (dx/2) + dy*(sqrt(1-d*d/4)/d); cen.y = pt[ce1].y + (dy/2) - dx*(sqrt(1-d*d/4)/d); // gather t=2; for(i=0; i