2021暑假每日一题 week5 完结

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021暑假每日一题 week5 完结相关的知识,希望对你有一定的参考价值。

3790. 录入单词【难度: 一般 / 知识点: 模拟】

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N];
int main(void)
{
    int n,c; cin>>n>>c;
    int ans=1;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        if(i&&a[i]-a[i-1]<=c) ans++;
        else ans=1;
    }
    cout<<ans<<endl;
    return 0;
}

3791. 解码【难度: 简单 / 知识点: 模拟】

#include<bits/stdc++.h>
using namespace std;
int main(void)
{
    int n; cin>>n;
    string s; cin>>s;
    string ans;
    if(n%2==0)
    {
        for(int i=0;i<s.size();i++)
        {
            if(i%2) ans=ans+s[i];
            else ans=s[i]+ans;
        }
    }
    else
    {
        ans=s[0];
        for(int i=1;i<s.size();i++)
        {
            if(i%2) ans=s[i]+ans;
            else ans=ans+s[i];
        }
    }
    cout<<ans<<endl;
    return 0;
}

3792. 质数问题【难度: 简单 / 知识点: 线性筛 枚举】

#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int prime[N],st[N],cnt;
void f(int n)
{
    for(int i=2;i<=n;i++)
    {
        if(!st[i]) prime[cnt++]=i;
        for(int j=0;prime[j]<=n/i;j++)
        {
            st[prime[j]*i]=1;
            if(i%prime[j]==0) break;
        }
    }
}
int main(void)
{
    int t; cin>>t;
    f(10000);
    while(t--)
    {
        int n,k; cin>>n>>k;
        int ans=0;
        for(int i=0;i<cnt;i++)//枚举所有满足条件的质数
        {
            if(prime[i]>n) break;
            for(int j=0;j<cnt-1;j++)//枚举相邻的质数
            {
                if(prime[j]>prime[i]) break;
                int t=prime[j]+prime[j+1]+1;
                if(t==prime[i])
                {
                    ans++;
                    break;
                }
            }
        }
        if(ans>=k) puts("YES");
        else puts("NO");
    }
}

3793. 最大分数【难度: 简单 / 知识点: 贪心】

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],t,n,m;
int main(void)
{
    cin>>t;
    while(t--)
    {
        cin>>n>>m;
        for(int i=0;i<n;i++) cin>>a[i];
        sort(a,a+n);
        int sum=0;
        int cnt=0;
        for(int i=0;i<n;i++)
        {
            if(cnt<m&&a[i]<0) sum+=abs(a[i]),cnt++;
            if(cnt>=m) break;
        }
        cout<<sum<<endl;
    }
    return 0;
}

3794. 构造字符串【难度: 简单 / 知识点: 思维】

#include<bits/stdc++.h>
using namespace std;
string ans;
void check()
{
    if(ans.size()<=1) ans+='a';
    else
    {
        int t=ans.size()-1;
        for(int i=0;i<3;i++)
        {
            if(ans[t-1]=='a'+i) continue;
            else 
            {
                ans+='a'+i;
                break;
            }
        }
    }
}
int main(void)
{
    int n; cin>>n;
    while(ans.size()<n) check();
    cout<<ans<<endl;
    return 0;
}

aabbaabbaabbaabb…

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int main()
{
    int n;
    cin >> n;

    for (int i = 0; i < n; i ++ )
        if (i % 4 < 2) cout << 'a';
        else cout << 'b';
    return 0;
}

以上是关于2021暑假每日一题 week5 完结的主要内容,如果未能解决你的问题,请参考以下文章

2021春季每日一题week5 未完结

寒假每日一题(入门组)week5 完结

2021暑假每日一题 week2 完结

2021暑假每日一题 week9 完结

2021暑假每日一题 week1 完结

2021暑假每日一题 week6 完结