(计数排序)计数排序是一个广泛使用的排序方法。下面的程序使用双关键字计数排序,将n对10000以内的整数,从小到大排序。
例如有三对整数(3,
①处应填() ++cnt [i] ++cnt[b[i]] ++cnt[a[i] * maxs + b[i]] ++cnt[a[i]] ②处应填() ord[--cnt[a[i]]] = i ord[--cnt[b[i]]] = a[i] ord[--cnt[a[i]]] = b[i] ord[--cnt[b[i]]] = i ③处应填() ++cnt[b[i]] ++cnt[a[i] * maxs + b[i]] ++cnt[a[i]] ++cnt [i] ④处应填() res[--cnt[a[ord[i]]]] = ord[i] res[--cnt[b[ord[i]]]] = ord[i] res[--cnt[b[i]]] = ord[i] res[--cnt[a[i]]] = ord[i] ⑤处应填() a[i], b[i] a[res[i]], b[res[i]] a[ord[res[i]]]j b[ord[res[i]]] a[res[ord[i]]]j b[res[ord[i]]]
第1题 单选
第2题 单选
第3题 单选
第4题 单选
第5题 单选
(矩阵变幻)有一个奇幻的矩阵,在不停的变幻,其变幻方式为:数字0变成矩阵,数字1变成矩阵
最初该矩阵只有一个元素0,变幻n次后,矩阵会变成什么样?
例如,矩阵最初为:;矩阵变幻1次后:
矩阵变幻2次后:
输入一行一个不超过10的正整数n。输出变幻n次后的矩阵。 试补全程序。
提示:
"<<"表示二进制左移运算符,例如<math><semantics><annotation encoding="application/x-tex">(11)_2 << 2 = (1100)_2</annotation></semantics></math>(11)2<<2=(1100)2;而“^”表示二进制异或运算符,它将两个参与运算的数中的每个对应的二进制位—进行比较,若两个二进制位相同,则运算结果的对应二进制位为0,反之为1。
①处应填()
n%2
0
t
1
②处应填()
x-step,y-step
x,y-step
x-step,y
x,y
③处应填()
x-step,y-step
x+step,y+step
x-step,y
x,y-step
④处应填()
n-1,n%2
n,0
n,n%2
n-1,0
⑤处应填()
1<<(n+1)
1<<n
n+1
1<<(n-1)
回答下列问题
如果a数组有重复的数字,则程序运行时会发生错误。()
如果b数组全为0,则输出为0。()
当n=100时,最坏情况下,与第12行的比较运算执行的次数最接近的是:()。
5000
600
6
100
当n=100时,最好情况下,与第12行的比较运算执行的次数最接近的是:()。
100
6
5000
600
当n=10时,若b数组满足,对任意0<=i<n,都有b[i] = i + 1,那么输出最大为()。
386
383
384
385
(4分)当n=100时,若b数组满足,对任意0 S i < 71,都有b[i]=1,那么输出最小为()。
582
580
579
581
假设输入的n和m都是正整数,x和y都是在[1, n]的范围内的整数,完成下面的判断题和单选题:
当m>0时,输出的值一定小于2n。()
执行完第27行的"++ans"时,ans —定是偶数。()
a[i]和b[i]不可能同时大于0。()
右程序执行到第13行时,x总是小于y,那么第15行不会被执行。()
若m个x两两不同,且m个y两两不同,则输出的值为()
2n-2m
2n+2
2n-2
2n
若m个x两两不同,且m个y都相等,则输出的值为()
2n-2
2n
2m
2n-2m
以下哪个奖项是计算机科学领域的最高奖?()
图灵奖
鲁班奖
诺贝尔奖
普利策奖
假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为()。
ABCDEFGHIJ
ABDEGHJCFI
ABDEGJHCFI
ABDEGHJFIC
—些数字可以颠倒过来看,例如0、1、8颠倒过来还是本身,6颠倒过来是9, 9颠倒过来看还是6,其他数字颠倒过来都不构成数字。
类似的,一些多位数也可以颠倒过来看,比如106颠倒过来是901。假设某个城市的车牌只由5位数字组成,每一位都可以取0到9。
请问这个城市最多有多少个车牌倒过来恰好还是原来的车牌?()
60
125
75
100
—副纸牌除掉大小王有52张牌,四种花色,每种花色13张。
假设从这52张牌中随机抽取13张纸牌,则至少()张牌的花色一致。
4
2
3
5