美文网首页信息学竞赛题解(IO题解)
BZOJ-1041: [HAOI2008]圆上的整点

BZOJ-1041: [HAOI2008]圆上的整点

作者: AmadeusChan | 来源:发表于2018-11-13 12:26 被阅读0次

题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1041

这里有个博客讲的很不错(http://blog.csdn.net/csyzcyj/article/details/10044629),不过不知道为什么算出了总是多了一倍,除以2就A了额无语死。。。

代码:

#include <cstdio>

#include <algorithm>

#include <cstring>

#include <cmath>

 

using namespace std ;

 

#define ll long long

 

ll r , ans = 0 ;

 

ll gcd( ll x , ll y ) {

    if ( x < y ) swap( x , y ) ;

    while ( y ) {

        ll k = y ;

        y = x % y ;

        x = k ;

    }

    return x ;

}

 

void solve( ll d ) {

    for ( ll a = 0 ; a ++ < ( ll )( sqrt( d ) ) ; ) {

        ll b = ( ll )( sqrt( d - a * a ) ) ;

        if ( b * b == d - a * a ) {

            if ( gcd( b * b , a * a ) == 1 && b != a ) {

                ++ ans ;

            }

        }

    }

}

 

int main(  ) {

    scanf( "%lld" , &r ) ;

    for ( ll i = 0 ; i ++ < ( ll )( sqrt( 2 * r ) ) ; ) {

        if ( ! ( ( 2 * r ) % i ) ) {

            solve( i ) ;

            if ( ( 2 * r ) / i != i ) solve( ( 2 * r ) / i ) ;

        }

    }

    printf( "%lld\n" , ans * 2 + 2 ) ;

    return 0 ;

}

相关文章

  • BZOJ-1041: [HAOI2008]圆上的整点

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=10...

  • 整点

    明明知道有种结局是写定的,他根本就无意参与你的剧本。可是,有种忍不住的情绪,整天整天的蔓延,只要看到你认真的侧脸就...

  • 整点

    三月份在学校的时候,我说,我要等待考完研,考完证我在修行学习,但是实际上按我自己对自己的了解,等到我都做完了,我自...

  • 喝茶

    老友电话,喝杯茶? 好。 几人围坐。 沏上。 品两口。 不整点儿? 不整了,茶挺好。 …… 少整点吧,大过年的。 ...

  • 整点的想念

    现在是2015年12月13日凌晨2点25分,室友浓重的呼吸声让我无法安眠,气温过低,我不能再去阳台吹风,借此...

  • 整点有用的

    文/海煦 日记是写给自己看的,好也吧不好也吧,没什么要紧的。 写文章则不同,往小了说,读者是老师同学朋友…;往大了...

  • 整点报时

  • 整点抢购

    1、在一个活动分为多个时间点抢购商品,先判断活动是否在有效期内,然后在判断要添加的商品是否在请购时间内 9点 ...

  • 圆红灯(上)

    在丁字路口直行如果遇到圆灯红灯,你会怎么选择? 每次回老家在105国道上,沿着宋汤河一路向南,总会遇到一些丁字路口...

  • 将中国梦圆上圆

    你用笑容 打动世界 你用真情 感动华夏 于是 滚滚的春潮啊 呼唤着你的名字 你的脚歩 必定踏上新的征程 为祖囯 为...

网友评论

    本文标题:BZOJ-1041: [HAOI2008]圆上的整点

    本文链接:https://www.haomeiwen.com/subject/wcgkfqtx.html