#CSPMN114514. CSP-J 114514年初赛模拟题

CSP-J 114514年初赛模拟题

一、单项选择题

  1. 你是? {{ select(1) }}
  • 地球人
  • 火星人
  • 玛卡巴卡星人
  • 沃尔玛购物袋

2.$(1)_{2138573280589714509134863783209457239085}+(1)_{3459923875043987893}+(1)_{23421384019248231857093478} = ?$ {{ select(2) }}

  • (10)13743289(10)_{13743289}
  • (3)123412809347120983472098347201978(3)_{123412809347120983472098347201978}
  • (SB)(SB)26(SB)_{(SB)_{26}}
  • (WCNM)114514(WCNM)_{114514}
  1. 第一届CSPCSP是第几届CSPCSP? {{ select(3) }}
  • 114514114514
  • 22
  • 11
  • 钝角
  1. 有10个人要拍毕业照,要从中选出10个人拍照,有多少种选法? {{ select(4) }}
  • (345732049578320947098)114514(345732049578320947098)_{-114514}
  • (1)2(1)_2
  • (AAAA苹果批发)(AAAA苹果批发)_{\infty}
  • (180)SB(180^{\circ})_{SB}
  1. 从$(57591875478020349857230495803824928475023457023948502348932457320958372509832570329847320985723098527305983247509285^{124499})_{114514}$个红球中选出(114514)114514(114514)_{114514}个球,有多少种含有非红球的方案? {{ select(5) }}
  • (SB)36(SB)_{36}
  • (FUCK)114(FUCK)_{114}
  • (MAN)MAN1145(MAN)_{{MAN}_{1145}}
  • (0)10(0)_{10}
  1. 以下代码的作用是:
#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) }}

  • 77
  • 114514114514
  • 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
  • (SB)36(SB)_{36}
  1. 以下不是C++C++的关键字? {{ select(8) }}
  • unsigned
  • man
  • private
  • std
  1. 关于以下代码,什么行为是错误的?
#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类型
  1. 请问你的第一题选的什么? {{ select(10) }}
  • 钝角
  • 地球人
  • 卡玛巴卡星人
  • 100C100^{\circ C}度的热水

二、代码阅读题

阅读以下代码,完成问题。

#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 1时,输出为888。 {{ select(11) }}
  • 正确
  • 错误
  1. 当输入为236092436920834 52680923455时,输入为236092436920834 52680923455。 {{ select(12) }}
  • 正确
  • 错误
  1. 如果将里面所有的mid改为man,程序会报错。 {{ select(13) }}
  • 正确
  • 错误

选择题

  1. 当输出为OK时,输出为: {{ select(14) }}
  • AAAAAAAAAAAAA苹果批发
  • 输出
  • 判断题
  • OK

?. 这是全卷第几题? {{ select(15) }}

  • AAAAAAAAAAAAA苹果批发
  • 1515
  • 666这个入开挂了
  • 200OK200 OK

三、代码补全题

(砍树)伐木工人 Mirko 需要砍 MM 米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。 Mirko 的伐木机工作流程如下:Mirko 设置一个高度参数 HH(米),伐木机升起一个巨大的锯片到高度 HH,并锯掉所有树比 HH 高的部分。Mirko 就得到树木被锯下的部分。Mirko 非常关注生态保护,所以他不会砍掉过多的木材。这也是他尽可能高地设定伐木机锯片的原因。请帮助 Mirko 找到伐木机锯片的最大的整数高度 HH,使得他能得到的木材至少为 MM 米。

#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. <(1)>处应填: {{ select(16) }}
  • using
  • 666
  • import
  • sing
  1. <(2)>处应填: {{ select(17) }}
  • man
  • mian
  • run
  • main
  1. <(3)>处应填: {{ select(18) }}
  • cao
  • input
  • scanf
  • cin
  1. <(4)>处应填: {{ select(19) }}
  • sort
  • paixu
  • ai
  • chatgpt
  1. <(5)>处应填: {{ select(20) }}
  • mid(check)
  • check(mid)
  • check(l,r)
  • l,r(check(mid))