A. Joysticks
time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Friends are going to play console. They have two joysticks and only one charger for them. Initially first joystick is charged at a1 percent
and second one is charged at a2 percent.
You can connect charger to a joystick only at the beginning of each minute. In one minute joystick either discharges by 2 percent (if not connected to a charger) or charges by 1 percent (if connected to a charger).

Game continues while both joysticks have a positive charge. Hence, if at the beginning of minute some joystick is charged by 1 percent, it has to be connected to a charger, otherwise the game stops. If some joystick completely discharges (its charge turns to
0), the game also stops.

Determine the maximum number of minutes that game can last. It is prohibited to pause the game, i. e. at each moment both joysticks should be enabled. It is allowed for joystick to be charged by more
than 100 percent.

Input

The first line of the input contains two positive integers a1 and a2 (1 ≤ a1, a2 ≤ 100),
the initial charge level of first and second joystick respectively.

Output

Output the only integer, the maximum number of minutes that the game can last. Game continues until some joystick is discharged.

Examples
input
3 5
output
6
input
4 4
output

5

#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
#include <math.h>
#include <stdio.h> using namespace std;
long long int dp[205][205];
int n,m;
long long int dfs(int x,int y)
{
//cout<<x<<" "<<y<<endl;
if(dp[x][y]!=-1)
return dp[x][y];
if(x-2<0&&y-2>=0)
dp[x][y]=dfs(x+1,y-2)+1;
else if(x-2>=0&&y-2<0)
dp[x][y]=dfs(x-2,y+1)+1;
else
{
dp[x][y]=max(dfs(x+1,y-2),dfs(x-2,y+1));
dp[x][y]++;
} return dp[x][y];
}
int main()
{
memset(dp,-1,sizeof(dp));
for(int i=1;i<=100;i++)
dp[i][0]=0,dp[0][i]=0;
dp[1][1]=0;
scanf("%d%d",&n,&m);
printf("%lld\n",dfs(n,m));
return 0;
}

最新文章

  1. eclipse中将Maven Dependencies Libraries移除后的恢复办法
  2. 安装SQL Server 2012 『企业中文版』
  3. nohup启动java命令导致dubbo无法注册
  4. C语言+SDL2 图形化编程
  5. 内存使用空间之swap建置[转]
  6. 1、Python django 框架下的word Excel TXT Image 等文件的上传
  7. Guava API学习之Multimap
  8. QT:用QSet储存自定义结构体的问题——QSet和STL的set是有本质区别的,QSet是基于哈希算法的,要求提供自定义==和qHash函数
  9. url语法
  10. Kafka 0.10 KafkaConsumer流程简述
  11. 做直线不要使用hr
  12. RocketMQ-quickstart(批量消费问题)
  13. nginx预防常见攻击
  14. 2019-04-16 SpringMVC 学习笔记
  15. 删除 nuget 文件夹内容
  16. PAT甲级1143 Lowest Common Ancestor【BST】
  17. Windows to go 慢,更换 user profile 路径
  18. z-index注意事项
  19. [LeetCode&amp;Python] Problem 107. Binary Tree Level Order Traversal II
  20. jquery插件-fullpage.js

热门文章

  1. Java字节码指令
  2. Linux下让进程在后台可靠运行的几种方法
  3. WIN XP 命令汇总
  4. html5 indexDB的使用
  5. rip中的连续子网以及不连续子网
  6. SAP安装前添加虚拟网卡步骤
  7. arrow:让Python的日期与时间变的更好
  8. 华农校赛--G,用set比较大小,缩短时间复杂度
  9. 计算机网络——OSI、TCP/IP协议族详解
  10. Python中import和from import