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 完结的主要内容,如果未能解决你的问题,请参考以下文章