首页 > 技术文章 > 「个人」CSP 2019 入门组第一轮 重点讲解

chenyuhe 2021-09-07 22:40 原文

零.前言

image

能考到 \(71\) 分是我没有想到的,毕竟在 FJ 能稳过。

一.单项选择题

第七题:

\(8\) 个同样的球放在 \(5\) 个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的分法?
提示:如果 \(8\) 个球都放在一个袋子里,无论是哪个袋子,都只算一种分法。

\(A. 22\) \(B. 24\) \(C. 18\) \(D. 20\)

答案是 \(C\)

我们把答案分成以下几个部分进行统计: \(5\) 个袋子都不空的情况, \(4\) 个袋子都不空的情况,以此类推。

\(5\) 个袋子都不空的情况有 \(3\) 种。

\(1,1,1,1,4\)

\(1,1,1,2,3\)

\(1,1,2,2,2\)

\(4\) 个袋子都不空的情况有 \(5\) 种。

\(1,1,1,5\)

\(1,1,2,4\)

\(1,1,3,3\)

\(1,2,2,3\)

\(2,2,2,2\)

\(3\) 个袋子都不空的情况有 \(5\) 种。

\(1,1,6\)

\(1,2,5\)

\(1,3,4\)

\(2,2,4\)

\(2,3,3\)

\(2\) 个袋子都不空的情况有 \(4\) 种。

\(1,7\)

\(2,6\)

\(3,5\)

\(4,4\)

\(1\) 个袋子都不空的情况有 \(1\) 种。

\(8\)

所以一共有 \(3+5+5+4+1 = 18\) 种不同的分法。


第十三题

—些数字可以颠倒过来看,例如 \(0、1、8\) 颠倒过来还是本身,\(6\) 颠倒过来是 \(9\), \(9\) 颠倒过来看还是 \(6\),其他数字颠倒过来都不构成数字。
类似的,一些多位数也可以颠倒过来看,比如 \(106\) 颠倒过来是 \(901\)。假设某个城市的车牌只由 \(5\) 位数字组成,每一位都可以取 \(0\)\(9\)
请问这个城市最多有多少个车牌倒过来恰好还是原来的车牌?()

\(A. 60\) \(B. 125\) \(C. 75\) \(D. 100\)

答案是 \(C\),侥幸蒙对。

容易发现,中间位置,也就是第三位,只能填 \(0,1,8\)

并且可以构成 \(\bmod 3\) 的完全剩余系,所以其他位置怎么填都可以。

如果填第一位,那么第五位就会确定,同理。一、二位都有五个数字可以填,所以答案为 \(5×5=25\)

五个数字就是 \(0,1,6,8,9\) 啦!


二.阅读程序

第十六题

比较简单,但是最后一个选择把我弄了。

若输入的字符串长度为(),那么输入的字符串跟输出的字符串相比,至多有 \(36\) 个字符不同。

\(A. 36\) \(B. 100000\) \(C. 1\) \(D. 128\)

答案为 \(B\)

读完程序应该大家能够发现,条件满足的时候,当前的 \(i\)\(n\) 的约数。

所以我们只要在选项中找到约数个数最多为 \(36\) 的即可。

因为 \(100000 = 2^5×2^5\),所以因数个数为 \(( 5 + 1 ) × ( 5 + 1 ) =36\),也即是判定条件最多满足 \(36\) 次,所以最多有 \(36\) 个。


第十七题

应该是最简单的阅读程序了。

选择题可以用小数据模拟判断,还是很好看懂的。


第十八题

还是有点搞不懂,错挺多的。


三.完善程序

很简单,不讲了/fad。

第十九题比较简单,按题意模拟即可。

第二十题要注意循环中的 \(maxs\)\(n\) 的区别,不要写反了(就是我)。


四.后言

在繁忙的文化课中还有空做做初赛还是挺欢乐的。

还有 \(12\) 天就轮到 \(CSP\) 的初赛啦!

各位 Rp++!

推荐阅读