// 2004‘“à—\‘ID Circle and Points #include #include #include using namespace std; const double sqrt2 = sqrt(2.0); const double eps = 1e-6; char dx[] = {-1,1,-1,1}; char dy[] = {1,1,-1,-1}; class Square{ public: int bound; double x, y, size; Square(int bound, double x, double y, double size) : bound(bound), x(x), y(y), size(size) {} bool operator < (const Square &s) const { return bound < s.bound; } }; inline double sqr(double x) { return x*x; } int main(){ int N; double x[300], y[300]; while(cin >> N){ if(!N) break; for(int i=0;i> x[i] >> y[i]; int ans = 1; priority_queue qu; qu.push(Square(N, 5.0, 5.0, 10.0)); while(!qu.empty()){ Square s = qu.top(); qu.pop(); if(s.bound <= ans) break; for(int i=0;i<4;i++){ double nx = s.x + dx[i]*s.size/2.0; double ny = s.y + dy[i]*s.size/2.0; int c = 0, upper = 0; for(int j=0;j ans) qu.push(Square(upper, nx, ny, s.size/2.0)); } } cout << ans << endl; } }