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