HDU 1496 Equations

本文提供了一道来自杭州电子科技大学OJ(HDU OJ)的题目解答,该题目编号为1496。文章通过C++代码实现了解决方案,主要涉及数组、循环和算术运算等基本编程概念。通过对输入的四个整数进行特定条件判断与计算,实现了对特定数学表达式的求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


#include <cstdio>
#include <cstring>

int hash[2001000], p[101];

int main( )
{
    int a, b, c, d;
    for(int i=1; i<101; i++) p[i] = i*i;
    while(~scanf("%d%d%d%d", &a, &b, &c, &d)) {
        int sum = 0;
        if((a>0 && b>0&& c>0 && d>0) || (a<0 && b<0 && c<0 && d<0)) {
            printf("0\n");
            continue;
        }
        memset(hash,0,sizeof(hash));
        for(int i=1; i<=100; i++)
            for(int j=1; j<=100; j++)
                hash[a*p[i] + b*p[j] + 1000000]++;
        for(int i=1; i<=100; i++)
            for(int j=1; j <= 100; j ++)
                sum += hash[1000000 - c*p[i] - d*p[j]];
        printf("%d\n", sum<<4);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值