#CSPMN114514. CSP-J 114514年初赛模拟题
CSP-J 114514年初赛模拟题
一、单项选择题
- 你是? {{ select(1) }}
- 地球人
- 火星人
- 玛卡巴卡星人
- 沃尔玛购物袋
2.$(1)_{2138573280589714509134863783209457239085}+(1)_{3459923875043987893}+(1)_{23421384019248231857093478} = ?$ {{ select(2) }}
- 第一届是第几届? {{ select(3) }}
- 钝角
- 有10个人要拍毕业照,要从中选出10个人拍照,有多少种选法? {{ select(4) }}
- 从$(57591875478020349857230495803824928475023457023948502348932457320958372509832570329847320985723098527305983247509285^{124499})_{114514}$个红球中选出个球,有多少种含有非红球的方案? {{ select(5) }}
- 以下代码的作用是:
#include<iostream>
#define sb cout
using namespace std;
class OBJ{
public:
virtual void sb() = 0;
};
class SADBEE :public OBJ{
public:
void sb(){
cout << "MAN!";
}
}
int main(){
sb << "HELOW WORD";
}
{{ select(6) }}
- 输出"MAN!"
- 输出"sb"
- 输出"OBJ"
- 输出"HELOW WORD"
. 这是第几题? {{ select(7) }}
- 以下不是的关键字? {{ select(8) }}
unsignedmanprivatestd
- 关于以下代码,什么行为是错误的?
#include<iostream>
using namespace std;
int main(){
int a;
cin >> a;
cout << a;
return 0;
}
{{ select(9) }}
- 把
cout后的a改为a+10 - 把
main改为man致敬牢大 - 把
return 0;删掉 - 把
int类型改为long long类型
- 请问你的第一题选的什么? {{ select(10) }}
- 钝角
- 地球人
- 卡玛巴卡星人
- 度的热水
二、代码阅读题
阅读以下代码,完成问题。
#include<iostream>
using namespace std;
int main(){
int SB,N;
cin >> SB >> N;
int l=0,r=SB,ans;
while (l <= r){
int mid=l+(r-l)/2;
if (ans == N){
cout << "OK";
}else if(ans > N){
cout << "ans > N" << endl;
}else{
cout << "ans < N" << endl;
}
}
return 0;
}
判断题
- 当输入为
1 1时,输出为888。 {{ select(11) }}
- 正确
- 错误
- 当输入为
236092436920834 52680923455时,输入为236092436920834 52680923455。 {{ select(12) }}
- 正确
- 错误
- 如果将里面所有的
mid改为man,程序会报错。 {{ select(13) }}
- 正确
- 错误
选择题
- 当输出为
OK时,输出为: {{ select(14) }}
- AAAAAAAAAAAAA苹果批发
- 输出
- 判断题
- OK
?. 这是全卷第几题? {{ select(15) }}
- AAAAAAAAAAAAA苹果批发
- 666这个入开挂了
三、代码补全题
(砍树)伐木工人 Mirko 需要砍 米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。 Mirko 的伐木机工作流程如下:Mirko 设置一个高度参数 (米),伐木机升起一个巨大的锯片到高度 ,并锯掉所有树比 高的部分。Mirko 就得到树木被锯下的部分。Mirko 非常关注生态保护,所以他不会砍掉过多的木材。这也是他尽可能高地设定伐木机锯片的原因。请帮助 Mirko 找到伐木机锯片的最大的整数高度 ,使得他能得到的木材至少为 米。
#include<bits/stdc++.h>
<(1)> namespace std;
long long N,M,A[1000010];
bool check(long long mid){
long long sum = 0;
for (int x = 0;x<N;x++){
if (A[x] < mid){
continue;
}else{
sum += A[x]-mid;
}
}
return sum>=M;
}
int <(2)>(){
<(3)>("%lld%lld",&N,&M);
for(long long x=0;x<N;x++){
scanf("%lld",&A[x]);
}
<(4)>(A,A+N);
long long l=0,r=A[N-1],ans=0;
while (l<=r){
long long mid = (l+r)/2;
if (<(5)>){
l = mid+1;
ans=mid;
}else{
r = mid-1;
}
}
printf("%lld",ans);
return 0;
}
- <(1)>处应填: {{ select(16) }}
- using
- 666
- import
- sing
- <(2)>处应填: {{ select(17) }}
- man
- mian
- run
- main
- <(3)>处应填: {{ select(18) }}
- cao
- input
- scanf
- cin
- <(4)>处应填: {{ select(19) }}
- sort
- paixu
- ai
- chatgpt
- <(5)>处应填: {{ select(20) }}
- mid(check)
- check(mid)
- check(l,r)
- l,r(check(mid))