蓝桥杯备战刷题three(自用)

  1.合法日期

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
  map<string,int>mp;
  int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  for(int i=1;i<=12;i++)
  {
    for(int j=1;j<=days[i];j++)
    {
       string s=to_string(i)+to_string(j);
      mp[s]=1;
    }
  }
  string m,d;
  cin>>m>>d;
  m+=d;
  if(mp[m])cout<<"yes"<<endl;
  else cout<<"no"<<endl;
  return 0;
}

 2.删除字符

#include <iostream>
#include <string>
using namespace std;
//使字典序最小,即删掉字典序大的
//可以删除q次
//在删除每一次时,把每一个字母删掉都试一下是不是比之前的小,如果是则贡献答案
int main()
{
  string s;
  cin>>s;
  string s1,s2,s3;
  s2=s3=s;
  int q;
  cin>>q;
  while(q--)
  {
    for(int i=0;i<s.size();i++)
    {
      s3=s;//原来的(保证每次for循环挑选出一位)
      s1=s3.erase(i,1);//从i开始删除1位
      if(s1<s2)//s2表示上一个答案
      {
        s2=s1;
      }
    }
    s=s2;//for循环结束后更新s
  }
  cout<<s<<endl;
  return 0;
}

 3.最小谈判

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值