欢乐赛#34 题解
2024-11-18 20:34:48
发布于:广东
欢乐赛#34C++ 全题解
全程无注释 纯享版 蒟蒻可使用但不可白嫖(求赞赞)
题目链接:T1 - 数组
基础题,使用set
或 map
即可。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
set<int>a;
for(int i = 1;i<=n;++i){
int x;
cin>>x;
a.insert(x);
}
cout<<a.size();
}
时间复杂度:
预计得分:
实际得分:
题目链接:T2 - 走路
设定坐标变量初值为,然后模拟即可
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x = 0,y = 0;
cin>>n;
char c;
while(cin>>c){
if(c == 'D'){
y--;
}else if(c == 'U'){
y++;
}else if(c == 'R') x++;
else x--;
}
printf("(%d,%d)",x,y);
}
时间复杂度:
预计得分:
实际得分:
题目链接:T3 -休息日
太可惜了呀比赛没想到要二分
#include <bits/stdc++.h>
using namespace std;
bool check(int n,int mid){
int d1 = 1,d2 = mid+d1,d3 = n-(d2+4);
return mid != min(min(abs(d1-d2), abs(d2-d3)), abs(d1-d3));
}
int main(){
int n,sum = 1;
cin>>n;
int l = 1,r = n;
while(l<=r){
int mid = l+r>>1;
if(check(n,mid)) r = mid-1;
else{
sum = mid;
l = mid+1;
}
}
cout<<sum;
}
时间复杂度:
预计得分:
实际得分:
题目链接:T4 - 质数个数
使用埃氏筛法,将标记数组和标记为,然后开始筛
我绝对不是抄集训代码
#include<iostream>
#include<bitset>
using namespace std;
const long long N = 100000009;
bitset<N+10> vis;
void sieve(int n){
vis[0] = vis[1] = true;
for(int i = 2;i<=n/i;i++){
if(!vis[i]){
for(long long j = 1LL*i*i;j<=n;j+=i){
vis[j] = true;
}
}
}
}
int lp = 0;
void Pick(int n){
for(int i = 2;i<=n;i++){
if(!vis[i]) lp++;
}
}
int main(){
int n;
cin>>n;
sieve(n);
Pick(n);
printf("%0d",lp);
return 0;
}
时间复杂度:
预计得分:
实际得分:
题目链接:T5 - 好串
将两个字符串排序后一个一个比对,如果有不一样则该串不是「好串」
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n,f = 1;
cin>>n;
vector<char>a(n),b(n);
for(auto &I:a) cin>>I;
for(auto &I:b) cin>>I;
sort(a.begin(),a.end()),sort(b.begin(),b.end());
for(int i = 0;i<n;++i){
if(a[i]!=b[i]){
f = 0;
break;
}
}
cout<<(f?"YES\n":"NO\n");
}
}
时间复杂度:
预计得分:
实际得分:
题目链接:T6 - 期中考试
也是感受到官方的诚意了好吧(不是我真服了作文为什么会让作为学生的我们写家长会活动啊)
#include<bits/stdc++.h>
int main(){ std::cout<<"Good Luck!\n"; }
求赞谢谢
求顶谢谢
求评论谢谢
求礼物谢谢
没期中考的加油
全部评论 4
great,身为好基友得我来捧个场
2024-11-18 来自 广东
0顶
2024-11-18 来自 广东
0顶
2024-11-18 来自 广东
0顶
2024-11-18 来自 广东
0
有帮助,赞一个