牛客小白月赛7(A-E)题解

A、猫猫与广告

只要让白布的最大的边大于广告纸最大边,白布最小边大于广告纸最小边即可

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=110000;


signed main()
{
    ios::sync_with_stdio(false);
   int a,b,c,d;
    cin>>a>>b>>c>>d;
    if(max(c,d)>max(a,b))
    {
        if(min(c,d)>min(a,b))
            cout<<"YES"<<endl;
    }
    else cout<<"NO"<<endl;
    return 0;
}

B、猫猫与密信

直接扫描过去即可

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=110000;

string s;

signed main()
{
    ios::sync_with_stdio(false);
    cin>>s;
    map<string,int>mp;
    mp["love"]=1;
    mp["ove"]=1;
    mp["lve"]=1;
    mp["loe"]=1;
    mp["lov"]=1;
    s=s+'?'+'?'+'?'+'?';
    for(int i=0;i<s.size()-3;i++)
    {
        string t=s.substr(i,3);
        if(mp[t])
        {
            cout<<"YES"<<endl;
            return 0;
        }
    }
    for(int i=0;i<s.size()-4;i++)
    {
        if(mp[s.substr(i,4)])
        {
            cout<<"YES"<<endl;
            return 0;
        }
    }
    cout<<"NO"<<endl;
    
    return 0;
}

C.猫猫与数列

类似于斐波那契数列,可以根据数据范围和给的样例,当a1=2,a2=2的时候是项数最多的时候

这时候答案是5,意思是说最多5项,类似于斐波那契数列递推过去即可

f[i]=pow(f[i-2],f[i-1)即可

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1100;
int f[N];


signed main()
{   
    cin>>f[1]>>f[2];
    for(int i=3;i<=6;i++)
        f[i]=pow(f[i-2],f[i-1]);
    for(int i=5;i;i--)
    {
        if(f[i]<=1e18&&f[i]>=min(f[1],f[2]))
        {
            cout<<i<<endl;
            return 0;
        }
    }
    return 0;
}

D、猫猫与主人

双指针,按照猫猫的友善值和主人的期望来从小到大排序,同时维护一个指针j,表示猫猫能接受主人的最小友善值,从这k

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值