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

版权声明:本文来自cyh,严禁未经许可转载,如想获得更多资源,请点击关注 https://blog.csdn.net/kkkksc03/article/details/82988709

题意:在格子纸上:

给出格子的单位长度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;
}

猜你喜欢

转载自blog.csdn.net/kkkksc03/article/details/82988709
今日推荐