A and B and Team Training——求最大组队数

A and B and Team Training
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

A and B are preparing themselves for programming contests.

An important part of preparing for a competition is sharing programming knowledge from the experienced members to those who are just beginning to deal with the contests. Therefore, during the next team training A decided to make teams so that newbies are solving problems together with experienced participants.

A believes that the optimal team of three people should consist of one experienced participant and two newbies. Thus, each experienced participant can share the experience with a large number of people.

However, B believes that the optimal team should have two experienced members plus one newbie. Thus, each newbie can gain more knowledge and experience.

As a result, A and B have decided that all the teams during the training session should belong to one of the two types described above. Furthermore, they agree that the total number of teams should be as much as possible.

There are n experienced members and m newbies on the training session. Can you calculate what maximum number of teams can be formed?

Input

The first line contains two integers n and m (0 ≤ n, m ≤ 5·105) — the number of experienced participants and newbies that are present at the training session.

Output

Print the maximum number of teams that can be formed.

Sample test(s)
input
2 6
output
2
input
4 5
output
3
Note

Let's represent the experienced players as XP and newbies as NB.

In the first test the teams look as follows: (XP, NB, NB), (XP, NB, NB).

In the second test sample the teams look as follows: (XP, NB, NB), (XP, NB, NB), (XP, XP, NB).



题意:有N个A,M个B,组成2个A和1个B,或者两个B一个A,求能够组成的最大的组数。

每次遇到这种题目都自然而然的想到分类讨论,。。。sad。。。但是暴力求解会更加的简单,额额。。。。。。。

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>

using namespace std;


int main()
{
    int n,m,i,j,k,num;
    while(~scanf("%d%d",&n,&m))
    {
        num = 0;
        while((n>=2&&m>=1)||(n>=1&&m>=2))//每次都取小的数出一个值,大的数出两个值。
        {
            num++;
            if(n < m)
            {
                n = n - 1;
                m = m - 2;
            }
            else
            {
                n = n - 2;
                m = m - 1;
            }
        }
        printf("%d\n",num);
    }
    return 0;
}


要在wandb中记录实验据,首先需要创建一个team,然后在team下创建一个project。创建完team和project后,可以通过以下步骤在team中记录实验据: 1. 在代码中导入wandb库:`import wandb` 2. 初始化wandb:使用`wandb.init()`函来初始化实验,其中需要提供以下参- `entity`:wandb上对应的team名称(必填) - `project`:本次的项目名称(必填) - `name`:本次实验的名称(可选,如果不设置,wandb会自动生成本次实验名称) - `tags`:本次实验的标签(可选) - `notes`:本次实验的备注(可选) - `config`:本次实验的配置说明(可选) 3. 使用`wandb.log()`来记录实验据:在代码中使用`wandb.log()`函来记录实验据,该函会将据记录到当前活动的实验中。确保在使用`wandb.log()`之前正确导入了wandb模块。 以上是在team中记录实验据的基本步骤。你可以根据需要在实验中记录不同的据,如损失函值、准确率等等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [实验据可视化工具wandb教程(持续更新ing...)](https://blog.csdn.net/lf_78910jqk/article/details/127811780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [深度学习之wandb的基本使用](https://blog.csdn.net/L28298129/article/details/126512398)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Wandb.init和wandb.sweep的使用准则](https://blog.csdn.net/virus111222/article/details/130733839)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值