玩《Minecraft》的贝贝题解

链接

有题目可知要想造更多的工具我们只需要选择钻石剑与钻石铲即可,再对这个列一元二次方程,即: x+2y=n,y+2x=m,其中x是我们造钻石铲的数量,y是我们造钻石剑的数量,解这个方程即可。

#include<set>
#include<map>
#include<stack>
#include<queue>
#include<vector>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
using ll=long long ;
using pii=pair<int,int> ;
#define endl "\n"

constexpr int N=2010;

void solve()
{
    double n,m;
    cin>>n>>m;
    
    double x1=(2*m-n)/3.0000;
    double x2=(2*n-m)/3.0000;
    
    int ans=0;
    if(x2<=0)ans=min(n,m/2);
    else if(x1<=0)ans=min(n/2,m);
    else ans=x1+x2;
    cout<<ans<<endl;
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    
    int t;
    cin>>t;
    
    while(t--)
    solve();
    return 0;
}