codeforces 392A Blocked Points 枚举

    题意很繁琐..转化过来基本就是在平面上给一个半径为n的圆,求圆内有多少个点和圆外至少一个点的欧几里得距离恰好为1。想一下会发现四个象限其实是对称的,求一个象限的解*4就行,对一个象限内的点,发现一个象限内也可以分成两半,所以就是枚举出来1/8个圆的点就可以了...以第一象限为例的话,枚举的结束条件就是x>y。

#include 
#include 
#include 
using namespace std;
typedef long long ll;
ll n,ans,m;
ll ss(ll x,ll y)
{
    return x*x+y*y;
}
int main()
{
    cin>>n;
    if (n==0) cout<<1<n*n) y--;
         if (x>y) break;

         if (x!=y) ans+=2;
         else ans++;
    }
    ans-=2;
    ans=ans*4+4;
    cout<


你可能感兴趣的:(杂题,codeforces)