博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【BZOJ】1041: [HAOI2008]圆上的整点(几何)
阅读量:5876 次
发布时间:2019-06-19

本文共 1503 字,大约阅读时间需要 5 分钟。

所谓的神题,我不会,直接题解。。看了半天看懂题解了。详见

这题呢,我只能吸收些思想,即,当我们要找合法解的时候,我们可以深究它的性质,然后用性质来判定是否存在合法解。

此神题直接看题解打码。

#include 
#include
#include
#include
#include
#include
using namespace std;#define rep(i, n) for(int i=0; i<(n); ++i)#define for1(i,a,n) for(int i=(a);i<=(n);++i)#define for2(i,a,n) for(int i=(a);i<(n);++i)#define for3(i,a,n) for(int i=(a);i>=(n);--i)#define for4(i,a,n) for(int i=(a);i>(n);--i)#define CC(i,a) memset(i,a,sizeof(i))#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))#define read(a) a=getnum()#define print(a) printf("%d", a)#define debug(a) printf("%lld\n", a)inline int getnum() { int ret=0; char c; for(c=getchar(); c<'0' || c>'9'; c=getchar()); for(; c>='0' && c<='9'; c=getchar()) ret=ret*10+c-'0'; return ret; }typedef long long ll;ll gcd(ll a, ll b) { return b?gcd(b, a%b):a; }inline bool check(ll A, ll B) { if(((ll)sqrt(B)*(ll)sqrt(B))==B && A!=B) if(gcd(A, B)==1) return true; return false;}int main() { int ans=0; ll d, d2, r, r2; scanf("%lld", &r); r2=r<<1; ll m=sqrt(r2); ll a; for(d=1; d<=m; ++d) { if(!(r2%d)) { d2=d<<1; for(a=1; a<=(ll)sqrt(r2/d2); ++a) if(check(a*a, r2/d-a*a)) ++ans; if(d!=r2/d) { for(a=1; a<=(ll)sqrt(d/2); ++a) if(check(a*a, d-a*a)) ++ans; } } } printf("%lld\n", (ll)(ans*4+4)); return 0;}

 

 


 

 

Description

求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数。

Input

r

Output

整点个数

Sample Input

4

Sample Output

4

HINT

n<=2000 000 000

Source

转载地址:http://ijzix.baihongyu.com/

你可能感兴趣的文章
Python多版本情况下四种快速进入交互式命令行的操作技巧
查看>>
MySQL查询优化
查看>>
【Redis源码分析】如何在Redis中查找大key
查看>>
关于链接文件的探讨
查看>>
android app启动过程(转)
查看>>
Linux—源码包安装
查看>>
JDK8中ArrayList的工作原理剖析
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>
乌克兰基辅一世遗修道院起火 现场火光照亮夜空
查看>>
[iOS 10 day by day] Day 2:线程竞态检测工具 Thread Sanitizer
查看>>
Centos/Ubuntu下安装nodejs
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
国内先进的智能移动广告聚合平台-KeyMob聚合
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
PHP - 如何打印函数调用树
查看>>