P9859 [CCC 2008 S2] Pennies in the Ring题解
whybecause · · 题解
题目传送门
这其实是一道可以直接暴力的题目。 思路: 遍历下 x 坐标范围,每次加上该 x 坐标中 y 坐标点的数量,用 ans 累加,最后输出答案即可。 废话不多说,直接上代码。\ Code:
#include<bits/stdc++.h>
using namespace std;
int main(){
int r;//半径输入
while(cin>>r){
if(r==0)return 0;//结束程序
int ans=0;
for(int x=-r;x<=r;x++){//遍历下坐标范围
double y=sqrt(r*r-x*x);
ans+=floor(y)*2+1;//加上x坐标中y坐标点的数量
}
printf("%d\n",ans);//输出答案并换行
}
return 0;
}
禁止抄袭,从你我做起!!!\ 第一篇题解,希望管理员大佬能帮忙通过,万分感谢。