ACGO 欢乐赛#35全题目解析
2024-12-09 15:21:49
发布于:江苏
趁着上社团赶紧
水写一篇高质量的题解
感觉欢乐赛题目质量太水了,连我这种蒟蒻都能轻松 了(
无语了,粗心导致提交次数过多, 拉了
T1 114514
恶臭的题目
没啥好讲的,直接输出就行,瞟一眼数据量,没爆就行。
(笑点解析:我刚写的时候忘记读入了)
#include<bits/stdc++.h>
using namespace std;
int main(){
int A;
cin>>A;
cout<<A+114514;
return 0;
}
T2 偶数的数量
很简单,根据题意直接统计输出
#include<bits/stdc++.h>
using namespace std;
int n,x,ans;//滚动优化
int main(){
cin>>n;
while(n--){
cin>>x;
if(x%2==0) ++ans;
}
cout<<ans;
return 0;
}
T3 6的个数
虽然题目说是整数,但是字符和字符串更好用,所以直接用一个字符变量就解决了
#include<bits/stdc++.h>
using namespace std;
char a;
int ans;
int main(){
while(cin>>a){
if(a=='6') ++ans;
}
cout<<ans;
return 0;
}
T4 复杂的线性代数问题
直接下标从 开始,并定义为全局变量,这样就不用考虑越界的问题了(另:注意大小写,如果在正式比赛写错就见祖宗了)
#include<bits/stdc++.h>
using namespace std;
int n,a[101][101];
bool f;
int main(){
cin>>n;
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j) cin>>a[i][j];
}
for(int i=1;i<=n;++i){
if(a[i-1][i]!=0) f=true;
}
if(f) cout<<"NO";
else cout<<"YES";
return 0;
}
T5 复杂的子串问题
根据题意模拟即可,需要注意的是字符串的下标从 开始
#include<bits/stdc++.h>
using namespace std;
string s;
int a,b;
int main(){
cin>>s>>a>>b;
for(int i=a-1;i<b;++i) cout<<s[i];
return 0;
}
T6 进制转化问题
两个模版重叠在一起了,想了解的可以自行搜索
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n;
cin>>n;
string s="";
while(n>0){
s=char(n%8+'0')+s;
n/=8;
}
n=s.size();
long long x=0;
for (int i=0;i<n;i++) {
if (s[i]>='A'&&s[i]<='F') x=x*16+s[i]-'A'+10;
else x=x*16+s[i]-'0';
}
cout<<x;
}
祝大家以后比赛都能获得好成绩,也祝ACGO的比赛越办越好!
全部评论 1
最后一句话说得特别好,给你点个赞:
2024-12-10 来自 加拿大
3
有帮助,赞一个