2023-2024学年南海区中小学程序设计水平测试答案
·
没登录的建议先登录
第一题 购物
#include<bits/stdc++.h>
using namespace std;
long long n,s,x,a,b,sum;
int main(){
cin>>n>>s>>x;
for(int i=1;i<=n;i++){
cin>>a>>b;
sum+=a*b;
}
if(sum>=s){
cout<<sum;
}
else{
cout<<sum+x;
}
return 0;
}
就一个很简单的基础累加问题
记得写long long
第二题:衣服
#include<bits/stdc++.h>
using namespace std;
int n,m,s,x;
string a;
int main(){
cin>>n>>m;
cin>>a;
for(int i=0;i<a.size();i++){
if(a[i]!='0')s++;
if(i==a.size()-1||a[i+1]=='0'){
if(s>x){
x=s;
}
s=0;
}
}
cout<<x-m;
return 0;
}
方法:连续性问题求最长连续的非0段落的长度注意最后一段为连续的情况,如:
6 0
111111
第三题:游戏通关
#include<bits/stdc++.h>
using namespace std;
long long n,m,t,cnt,mn=LLONG_MAX,mnid,a[200005],b[200005],c[200005];
int main() {
cin>>n>>m;
for(int i=1; i<=n; i++) {
cin>>a[i]>>b[i];
c[i]=c[i-1]+a[i]+b[i];
}
t=min(n,m);
for(int i=1; i<=t; i++) {
cnt=c[i]+(m-i)*b[i];
if(cnt<mn)mn=cnt,mnid=i;
}
cout<<mn;
return 0;
}

第四题:好数
#include<bits/stdc++.h>
using namespace std;
const int N=2*1e6;
int n,a,x[N],y[N];
int main()
{
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a;
x[i]=x[i-1];
y[i]=y[i-1];
if(i%2==1) {
x[i]+=a;
} else {
y[i]+=a;
}
}
int ans=0;
for(int i=1; i<=n; i++) {
if(x[i-1]+(y[n]-y[i])==y[i-1]+(x[n]-x[i])) {
ans++;
}
}
cout<<ans;
return 0;
}

笔记全图:
第五题有位老师已经把笔记给我了,但我还是不太懂
所以至于第五题文本框我还没做出来,请各位大神指点。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)