题解 AT2243 【正方形のチップ】

题意:在格子纸上:

给出格子的单位长度C,和在上面圆的半径R;

求出: 圆中有多少个完整的小正方形。(单位长度*单位长度)

#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int main()
{
    int R, C; 
    cin >> R >> C;//读入
    int cnt = 0;
    for(int yy=1;yy<=R+1;yy++)
    {
        for(int xx=1;xx<=R+1;xx++)//此处xx和yy的循环顺序无所谓
        {
            int x=xx*C;
            int y=yy*C;//要转换为题目要求的C个单位的
            if(x*x+y*y<=R*R)//在正方形内
            cnt++;//计数器+1
        }
    }
    printf("%d",cnt*4);//因为我们计算了1/4圆,所以*4
    return 0;
}
posted @ 2018-10-09 20:57  ShineEternal  阅读(173)  评论(0编辑  收藏  举报