这道题貌似只有@AKEE 大佬A掉,恭喜!

还有因为c++中支持两个参数数量不同的相同名称的函数调用,所以当时就没改成两个函数,这里表示抱歉。

这道题可直接用指针+hash一下,然后就模拟即可。

代码:

#include<bits/stdc++.h>
using namespace std;
const int Mo=10000000;
struct node
{
long long int state,ans;
node* next;
}*Hash[Mo+10],*p;
long long max(long long a,long long b,long long c,long long d,long long e)
{
return max(a,max(b,max(c,max(d,e))));
}
long long max(long long a,long long b,long long c,long long d)
{
return max(a,max(b,max(c,d)));
}
long long f(long long x)
{
if(x==0)return 0;
p=Hash[x%Mo];
while(p!=NULL)
{
if(p->state==x)return p->ans;
p=p->next;
}
long long anss=max(x,f(x/2)+f(x/3)+f(x/8)+f(x/9));
p=new node;
p->state=x;
p->ans=anss;
p->next=Hash[x%Mo];
Hash[x%Mo]=p;
return anss;
}
long long f(long long a,long long b)
{
long long anss=max(a+b,f(a/2)+f(a/3)+f(a/8)+f(a/9)+b,f(b/2)+f(b/3)+f(b/8)+f(b/9)+a,f(b/2)+f(b/3)+f(b/8)+f(b/9)+f(a/2)+f(a/3)+f(a/8)+f(a/9));
return anss;
}
int main()
{
//freopen("function.in","r",stdin);
//freopen("function.out","w",stdout);
long long int a,b;
while(cin>>a>>b)
{
cout<<f(a,b)<<endl;
}
return 0;
}

另附AKEE大佬代码:(%%%)

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <unordered_map>
#include <algorithm> using namespace std; typedef long long ll;
const int MAXN=10000005; ll n,m,f[MAXN];
unordered_map<ll,ll> has;
ll solve(ll n)
{
if(n<=10000000)return f[n];
if(has.count(n))return has[n];
return has[n]=max(solve(n/2)+solve(n/3)+solve(n/8)+solve(n/9),n);
} int main()
{
#ifndef ONLINE_JUDGE
freopen("code.in","r",stdin);
//freopen("code.out","w",stdout);
#endif
f[0]=0;
for(int i=1;i<=10000000;i++)
f[i]=max(f[i/2]+f[i/3]+f[i/8]+f[i/9],i*1ll);
while(cin>>n>>m)
cout<<solve(n)+solve(m)<<endl;
return 0;
}

最新文章

  1. vue-cli构建vue项目
  2. 高性能网站架构设计之缓存篇(5)- Redis 集群(上)
  3. CQRS及.NET中的参考资料
  4. java中Timer的使用
  5. Salt官方将RHEL5/CentOS5 源
  6. URAL 1242 Werewolf(DFS)
  7. DB2建立不记录日志的表
  8. Unity之屏幕画线
  9. c++ string 拼接 int错误
  10. [改善Java代码]用整数类型处理货币
  11. Kafka-0.10.0.0入门
  12. xcode插件安装完之后无法使用问题解决
  13. QTcpsocket 实现FTP
  14. Android_打开多个Activity,返回到第一个Activity
  15. (Problem 13)Large sum
  16. CSS控制之IE常见BUG及解决方案
  17. 【Spring】详解Spring中Bean的加载
  18. 2018c语言第1次作业
  19. MongoDB更需要好的模式设计 及 案例赏析
  20. 启用hyper-v后无法卸载vmware

热门文章

  1. DateTimeToGreenUnix
  2. 用Delphi开发视频聊天软件
  3. Qt 5.6.2 静态编译(VS2013 x86 target xp openssl icu webkit)
  4. Delphi berlin ShowMessage的改进与使用
  5. logstash performance testing
  6. Java对象结构及HotSpot对象模型
  7. 递归导致的StackOverflow的分析
  8. C语言实现常用数据结构——图
  9. Python解释器安装教程以及环境变量配置
  10. Gradle +HanLP +SpringBoot 构建关键词提取,摘要提取 。入门篇