题解 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;
}