Codeforces Round #230 (Div. 2)
A,B
简单题
C
题意:
定义两个点为相连的,则:
1,两点间的欧式距离等于1,并且这两点的任意一个点都没有被锁上
2,如果A,B相连,B,C相连,那么A,C相连。
定义特殊点为距离坐标原点的欧式距离不超过n的整数点。
让你锁上一些点,使得任意特殊点不能和任意非特殊点相连。
求出锁得的最少的点。
n == 0, ans = 1;
计算四分之一圆,然。乘以4,
#include <iostream> using namespace std; int main() { long long n, i, j, part, nn; while(cin>>n) { if(n==0) { cout<<1<<endl; continue; } part = j = n; nn = n*n; for(i=1; i<n&&j>=i; ++i) if(nn < i*i + j*j) j--; else part++; cout<<part*4<<endl; } return 0; }
直接用公式: ans = floor(n*sqrt(2))*4(n>0);
Codeforces Round #230 (Div. 2)
原文:http://blog.csdn.net/yew1eb/article/details/19490053