2025年北京市海淀区中小学生信息学竞赛第二赛段-入门组真题
题目总数:34 总分数:100
单选题(每题3分,共60分)
第 1 题 单选题
以下二维数组的初始化,哪个是符合语法的?( )
A.
int a[][]={{1,2},{3,4}};
B.
int a[][2]={{1,2},{3,4}};
C.
int a[2][2]={{1,2,3},{4,5,6}};
D.
int a[2][]={{1,2,3},{4,5,6}};
第 2 题 单选题
回文子串指的是一个字符串中,正着读和反着读都一样的连续字符序列。S="CABCBAABCABCBCBAB",其最长回文子串的长度是()
A.
5
B.
6
C.
7
D.
8
第 3 题 单选题
对于入栈顺序为1,2,3,4,5,6,7的序列,下列不可能是合法的出栈序列为()
A.
1,2,3,7,6,5,4
B.
1,4,3,2,5,7,6
C.
1,4,2,3,7,6,5
D.
7,6,5,4,3,2,1
第 4 题 单选题
给定一组活动,每个活动都有开始时间si和结束时间fi。我们要安排尽可能多的活动(活动之间不能重叠),正确的贪心策略是按照()从小到大排序后依次安排活动。
A.
si
B.
fi
C.
fi+si
D.
fi-si
第 5 题 单选题
有12个人在玩游戏,他们围成一个圈,给定一个字符串LLLLRRLRRRLL代表每个人的"攻击"方向(L向左,R向右)。一个合法的"攻击"应满足以下二者之一:
若只有a攻击b,则b必须攻击a。若a和c同时攻击b,或a和c都不攻击b,则b可以任意攻击a和c中的一个。
你每次可以进行一次操作,使字符串中的一个字符从L变为R,或从R变为L。最少需要操作()次使得字符串所代表的"攻击"状态合法。
A.
1
B.
2
C.
3
D.
4
第 6 题 单选题
沿着一条平直的道路旁有10棵树,它们的坐标分别为7,10,12,15,19,20,53,63,75,87,它们的高度分别为12,2,2,1,2,1,25,10,12,1。伐木工人如果砍倒一棵坐标为xi的树,并将其平放在左边或右边的一段空地上,占据一个区间[xi - hi, xi]或[xi, xi + hi],未被砍伐的树只占据一个坐标点xi。只有当区间中没有任何被占据的点时,伐木工人才能把砍倒的一棵树平放到这个区间上。伐木工人希望尽可能多地砍伐树木,问最多能砍伐()棵树。
A.
7
B.
8
C.
9
D.
10
第 7 题 单选题
陶陶和乐乐最近在练习跳跃技巧,跳跃规则如下:起点位于数轴的点0,如果想要到达点x,一开始可以先跳一单位,然后每次跳跃的长度都比上一次多一单位。每次跳跃可以选择向左或向右。现在陶陶想跳到坐标为56的位置,乐乐想跳到坐标为61的位置,他们两个人分别最少跳跃()次才能到达自己的目标点。
A.
10,11
B.
11,12
C.
12,13
D.
11,13
第 8 题 单选题
同学们玩猜城市游戏,地图上有标号A、B、C、D、E。五人每人只答对一半:
甲说:B是北京,E是天津
乙说:B是湖北,D是重庆
丙说:C是湖北,D是吉林
丁说:A是重庆,E是吉林
戊说:B是天津,C是北京
正确选项是()
A.
A是重庆,B是天津,C是湖北,D是北京,E是吉林
B.
A是湖北,B是天津,C是重庆,D是吉林,E是北京
C.
A是重庆,B是湖北,C是北京,D是天津,E是吉林
D.
A是重庆,B是湖北,C是北京,D是吉林,E是天津
第 9 题 单选题
有6本不同的书,其中语文书3本,数学书1本,英语书2本。若将这6本书排成一排,要求三本语文书必须相邻,而两本英语书不能相邻,则有()种不同的排法。
A.
36
B.
48
C.
72
D.
96
第 10 题 单选题
从1,3,5,7中任取2个数字,从0,2,4,6,8中任取2个数字,组成没有重复数字(无前导零)的四位数,其中能被5整除的数有()个
A.
360
B.
720
C.
300
D.
240
第 11 题 单选题
在数学中,集合是由某些确定的对象组成的整体,函数是从一个集合(称为定义域)到另一个集合(称为值域)的一种对应关系,函数要求定义域中的每一个元素都对应值域中唯一确定的元素。设集合A={1,2,3},B={a,b,c},A作为定义域,B作为值域,则从A到B的所有函数的个数为()
A.
6
B.
9
C.
27
D.
81
第 12 题 单选题
函数是一种数学规则,它将每个输入的数字唯一地对应到一个输出数字。例如,函数f(x)=5x-2表示:对于任何输入x,先乘以5,然后减2,得到计算结果。若函数f(x)=2x+3和g(x)=x-1,那么f(g(2))的值是多少?()
A.
3
B.
5
C.
7
D.
9
第 13 题 单选题
定义在整数集合上的数列F(x)满足:
F(x)=⎨ x-3(x≥10)
⎨ F(x+4)+1(x<10)
则F(4)的值为()
A.
9
B.
10
C.
11
D.
12
第 14 题 单选题
斐波那契数列定义为:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2)。用Si表示前i项和,则Sn可以表示为()
A.
F(n+1)
B.
F(n+2)
C.
F(n+1)-1
D.
F(n+2)-1
第 15 题 单选题
方程x+y+z=12的正整数解(即x,y,z≥1)的组数是()
A.
55
B.
66
C.
121
D.
132
第 16 题 单选题
以下C++程序的输出为()
#include<iostream>
usingnamespace std;
intfunc(int n)
{
if(n<=1)
return n;
returnfunc(n-1)+func(n-2)+func(n-3);
}
intmain()
{
cout<<func(6)<<endl;
return0;
}
A.
6
B.
13
C.
20
D.
无法正常结束
第 17 题 单选题
请阅读以下C++程序,若输入两个不同整数x,y,输出结果为()
#include<iostream>
usingnamespace std;
intmain()
{
int a,b;
cin>>a>>b;
a=a^b;
b=a^b;
a=a^b;
cout<<a;
}
A.
x
B.
y
C.
x⊕y
D.
x|y
第 18 题 单选题
辗转相除法是一种求解最大公因数的方法,在横线处填入()后,该函数能正确实现相应功能。
intgcd(int a,int b)
{
while(b!=0)
{
------------
// 横线处
}
return a;
}
A.
int temp = b; b=a/b;a = temp;
B.
int temp =a; a=b/a;b=temp;
C.
int temp =a%b;b=a%b; a= temp;
D.
b=a%b; a = b;
第 19 题 单选题
以下C++程序的时间复杂度为()
#include<iostream>
usingnamespace std;
constint N=100000;
int cnt=0, primes [100010],vis [100010];
intmain()
{
vis [1]=1;
for(int i=2;i<=N-1;i++)
{
if(!vis[i])
primes [++cnt]=i;
for(int j=1;primes[j]*i<=N-1;j++)
{
vis [primes [j]*i]=1;
if(i%primes[j]==0)
break;
}
}
for(int i=1;i<=cnt;i++)
cout<<primes[i]<<" ";
}
A.
O(n)
B.
O(n×log n)
C.
(n×log log n)
D.
O(n²)
第 20 题 单选题
以下C++程序的时间复杂度为()
intfunc(int n,int m)
{
if(m==0||m==n)
return1;
return func(n-1,m-1)+func(n-1,m);
}
A.
O(2ⁿ)
B.
O(2ᵐ×(n-m))
C.
O(Cₙᵐ)
D.
O(m×(n-m))
程序阅读与填空(每题5分,共20分)
第 21 题 填空题
请你阅读以下这段C++程序,程序输入为9 1 4 2 8 5 7 9 2 6,直接写出程序运行的结果。()
来源:6547网 http://www.6547.cn/doc/z56fe7ojxf
http://www.6547.cn/doc/z56fe7ojxf