ACM: 哈希暴力求解 哈希题 poj 184…_Smile_Benson的博客-程序员宅基地

技术标签: ACM  

                                                                     Eqs

Description

Consider equations having the following form:
a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0
The coefficients are given integers from the interval [-50,50].
It is consider a solution a system (x1, x2, x3, x4, x5) that verifies the equation, xi∈[-50,50], xi != 0, any i∈{1,2,3,4,5}.

Determine how many solutions satisfy the given equation.

Input

The only line of input contains the 5 coefficients a1, a2, a3, a4, a5, separated by blanks.

Output

The output will contain on the first line the number of the solutions for the given equation.

Sample Input

37 29 41 43 47

Sample Output

654

题意: a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 求方程有多少个解.

 

解题思路:

                1. 先求解x1,x2,x3的值的个数保存在hash中.

                2. 再求解x4,x5的值统计就可以得出解的个数.

 

代码:

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
const int MAX = 31250000;   //5*50^4*2

char hash[MAX*2+100];
int a,b,c,d,e;
int ans1, ans2;
int result;

int main()
{
//    freopen("input.txt","r",stdin);
    while(scanf("%d %d %d %d %d",&a,&b,&c,&d,&e) != EOF)
    {
        result = 0;
        memset(hash,0,sizeof(hash));
        ans1 = 0;
        ans2 = 0;
        for(int i = -50; i <= 50; ++i)
        {
            for(int j = -50; j <= 50; ++j)
            {
                for(int k = -50; k <= 50; ++k)
                {
                    if(i != 0 && j != 0 && k != 0)
                    {
                        ans1 = (a*i*i*i + b*j*j*j + c*k*k*k);
                        hash[ans1+MAX]++;
                    }
                }
            }
        }
        
        for(int i = -50; i <= 50; ++i)
        {
            for(int j = -50; j <= 50; ++j)
            {
                if(i != 0 && j != 0)
                {
                    ans2 = -(d*i*i*i + e*j*j*j);
                    result += hash[MAX+ans2];
                }
            }
        }
        
        printf("%d\n",result);
    }
    return 0;
}

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/smile_benson/article/details/51458036

智能推荐

zookeeper分布式锁_weixin_40657079的博客-程序员宅基地

什么是ZookeeperZookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以单机模式安装运行,不...

OpenXmlSdk导出Excel_weixin_30260399的博客-程序员宅基地

  感觉OpenXmlSdk的语法真的不是很友好。研究了半天,只实现了简单的导出功能。对于单元格样式的设置暂时还是搞明白,网上的资料真的很少,官方文档是英文的。中文的文章大都是用工具(Open XML SDK 2.0 Productivity Tool)搞出来的,反正在我这是不管用。最终还是回到了NPOI 的怀抱。  最后还是把这点代码记录一下,以后有时间再继续研究吧。 1 u...

winform开机自动启动设置_Dylan-Wang的博客-程序员宅基地

///<summary><br /> 2/// 设置开机自动启用<br /> 3///</summary><br /> 4 privatevoid SetAutoStart()<br /> 5 {<br /> 6try<br /> 7 {<br /> 8string regPath ="SOFTWARE//Microsoft//Windows//CurrentVersion//Run";<br /> 9string path = Application.Executabl

矩形脉冲信号合成_矩形脉冲信号的分解和合成_weixin_39703551的博客-程序员宅基地

脉冲信号简介矩形脉冲指阶跃时间远小于顶部持续时间的平顶脉冲。定义1矩形脉冲图形表达如图所示:(高度为A,宽度为a),此函数常作矩形采样窗口和平滑函数的模型。定义2具有轮廓近似为矩形,其上升和下降时间远小于脉冲持续时间的波形。定义3阶跃时间远小于顶部持续时间的平顶脉冲。定义4上升时间和下降时间相对于脉冲持续时间可以忽略,而且上升和下降之间的瞬时值实际上不变的单向脉冲。本文主要介绍一下矩形脉冲信号的分...

几个免费的英文文献_diaodiao256的博客-程序员宅基地

原址:点击打开链接①:学术英文资料 NCBI(美国国家生物技术中心) 网址:http://www.ncbi.nlm.nih.gov/ 简介:生物、医学、药学等 友情提示1:PMC搜索入口(在Search下拉列表中找到),可以找到全文的免费文献 友情提示2:其它入口也有部分文献可查看全文,如PubMed,右上角会有“Full-Text

SpringBoot-自动装配原理初探_lengzher_5601的博客-程序员宅基地

文章目录SpringBoot-自动装配原理初探三、自动装配原理初探1、pom.xml父依赖启动器spring-boot-starter2、主启动类默认的主启动类SpringApplication启动类@[email protected]@[email protected]@AutoConfigurationPackage:自动配置包@Import(AutoConfigurationImportSelector.cl

随便推点

必看!java后端,亮剑诛仙(最全知识点)_15150229228苏州超博金属的博客-程序员宅基地

你可能有所感悟。零散的资料读了很多,但是很难有提升。到处是干货,但是并没什么用,简单来说就是缺乏系统化。另外,噪音太多,雷同的框架一大把,我不至于全都要去学了吧。这里,我大体根据基础、Java基础、Java进阶给分了下类,挑的也都是最常用最重要的工具。这篇文章耗费了我大量的精力,你要是觉得好,请不要吝啬你的赞。如果你认同,可以关注我的微信公众号xjjdog,里面讲的就是这些内容。我会尝试更加系统化。最新的内容会在github持续更新,添加新的精选相关文章。地址:https://github.

Andorid音视频 - OpenGL ES的实战项目InstagramXFilter_Poney.Ma的博客-程序员宅基地

PS之前我用过Instagram的拍照功能,对他的滤镜可是垂涎已久啊,所以这次根据网上的资料有了一个开源项目有兴趣的可以看看InstagramXFilterInstagramXFilter参考了MagicCamera 以及 GPUImage,目前有几十种滤镜可供选择读者可以下载Demo运行一下,看看是不是你想要的,InstagramXFilter 1.0.1项目准备如果读者也对开发一款这样的应用感兴趣的话,那么我前面几篇的博客也许对你有帮助详情请查看我的CSDN专栏OpenGL这些博客将.

Zigbee绑定流程_chenbang110的博客-程序员宅基地

Zigbee绑定流程(一) 绑定机制允许一个应用服务在不知道目标地址的情况下向对方(应用服务)发送数据包,发送时使用的目标地址将由应用支持子层从绑定表中自动获得,从而能是消息顺利被目标节点的一个或多个应用服务乃至分组接收。注意:由于所有绑定信息都子啊在Zigbee协调器中,所有只有协调器才能接收绑定请求。1.1    绑定方式:Zigbee Device Object Bi

2015菜鸟学飞之旅,2016我要飞得更高_小宝鸽的博客-程序员宅基地

看到标题的猿友应该都觉得博主应该有点小天真,没错!博主就是2015本科毕业生一枚!14年12月份开始,先后在两家公司实习4个月、2个月,6月份拿到毕业生正式入职,至今博主工作已有一年了,博主是Java开发的。一年里,收获许多,让我十分庆幸的是开始认真在csdn写博客!!!详情请看博主后续道来。博主这一年经历2015年12月份,博主进入了一间规模约5000人的公司实习,算是大公司了,企业比较传统,是...

【Java设计模式】备忘录模式_沉晓的博客-程序员宅基地

文章目录概述适用场景优点缺点备忘录模式-相关设计模式演示概述◆ 定义:保存一个对象的某个状态,以便在适当的时候恢复对象。◆ “后悔药”◆ 类型:行为型适用场景◆ 保存及恢复数据相关业务场景◆ 后悔的时候,即想恢复到之前的状态优点◆ 为用户提供一种可恢复机制◆ 存档信息的封装缺点◆ 资源占用备忘录模式-相关设计模式◆ 备忘录模式和状态模式演示博文类public cl...

JUC共享模型之无锁并发阶段六_亚索@哈塞给的博客-程序员宅基地

6. 共享模型之无锁管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式的乐观锁的来实现并发控制。友情提示:无锁并发就是不需要锁控制并发6.1 问题提出有如下需求,保证account.withdraw取款方法的线程安全public class Test5 { public static void main(String[] args) { Account.demo(new AccountUnsafe(10000)); }}cl