第十四届蓝桥杯三月真题刷题训练——第 13 天 (3.16)

_谦言万语 2023-03-16 18:41:33

1.

#include <iostream>
using namespace std;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int res;

int check1(int x)
{
  int res=0;
  while(x)
  {
    res+=x%10;
    x/=10;
  }
  return res;
}

int main()
{
  for(int i=1900; i<=9999; i++)
  {
    if((i%4==0 && i%100!=0) || i%400==0) a[2]=29;
    else a[2]=28;
    for(int j=1; j<=12; j++)
      for(int k=1; k<=a[j]; k++)
      {
        if(check1(i)==check1(j)+check1(k)) res++;
      }
  }  
  cout<<res;
  return 0;
}

 2.

#include <iostream>
using namespace std;
int main()
{
  cout<<502-8;
  return 0;
}

3.

//暴力过6个点
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 2e5+10;
int n,m;
int a[N];

int main()
{
    cin>>n>>m;
    for(int i=0; i<n; i++) a[i]=i+1;
    while(m--)
    {
        char op;
        int x;
        cin>>op>>x;
        if(op=='L')
        {
            int t;
            for(int i=0; i<n; i++)
                if(a[i]==x)
                {
                    t=i;
                    break;
                }
            for(int i=t-1; i>=0; i--)
                a[i+1]=a[i];
            a[0]=x;
        }
        else 
        {
            int t;
            for(int i=0; i<n; i++)
                if(a[i]==x)
                {
                    t=i;
                    break;
                }
            for(int i=t; i<n-1; i++)
                a[i]=a[i+1];
            a[n-1]=x;
        }
    }
    for(int i=0; i<n; i++) cout<<a[i]<<" ";
    return 0;
}

//正解(排序)
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 2e5+10;
int n,m;
int cnt1=-1, cnt2=2e6;
int a[N];

struct Node
{
    int idx, w;
    bool operator < (const Node &W)
    {
        return idx<W.idx;
    }
}node[N];

int main()
{
    cin>>n>>m;
    for(int i=1; i<=n; i++)
    {
        node[i].idx=i;
        node[i].w=i;
    }
    while(m--)
    {
        char op;
        int x;
        cin>>op>>x;
        if(op=='L') node[x].idx=cnt1--;
        else node[x].idx=cnt2++;
    }
    sort(node+1,node+1+n);
    for(int i=1; i<=n; i++) cout<<node[i].w<<" ";
    return 0;
}

 

   

4.

#include <iostream>
using namespace std;
typedef long long LL;
const int N=1e5+10;
LL res;
int a[N];
int n,g;

int gcd(int a,int b)
{
  return b==0?a:gcd(b,a%b);
}

int main()
{
  cin>>n>>g;
  for(int i=1; i<=n; i++)
  {
    int x;
    cin>>x;
    a[i]=(x%g==0);
    a[i]+=a[i-1];
  }
  int j=0;
  for(int i=1; i<=n; i++)
  {
    while(j<i && a[i]-a[j]<i-j-1) j++;
    if(i-j>=2)res=res+(i-j-1);
  }
  cout<<res;
  return 0;
}

 

...全文
6 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
发帖
高校算法学习社区

4.1w+

社区成员

和众多高校算法内卷分子,一起学习和交流算法那。浓郁的算法交流氛围,拒绝躺平,有效内卷。加入我们,私信我拉你入核心内卷群。
算法数据结构leetcode 个人社区
社区管理员
  • 执 梗
  • Dream-Y.ocean
  • ღCauchyོꦿ࿐
加入社区
帖子事件
创建了帖子
2023-03-16 18:41
社区公告

 刷题!