HDOJ 1017 枚举 很水

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1017

这种题就不说什么了。

#include <iostream>
using namespace std;

inline int isSatisfied(int a,int b,int m)
{
    if ((a * a + b * b + m) % (a * b) == 0)
        return 1;
    else return 0;
}

int main ()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int blockNum;
    scanf("%d",&blockNum);
    for (int i = 1;i <= blockNum;i ++)
    {
        int n,m,caseId = 1;
        while (scanf("%d%d",&n,&m) != -1)
        {
            if (n == 0 && m == 0)
                break;
            int count = 0;
            for (int a = 1;a < n;a ++)
                for (int b = a + 1;b < n;b ++)
                {
                    if (isSatisfied(a,b,m))
                    {
                        //printf("a = %d,b = %d\n",a,b);
                        count ++;
                    }
                }
            printf("Case %d: %d\n",caseId,count);
            caseId ++;
        }
        if (i < blockNum)
            printf("\n");
    }
    return 0;
}
posted @ 2012-08-18 20:16  peaceful  阅读(153)  评论(0编辑  收藏  举报