文章目录
- 发现宝藏
- 【考生须知】
- 试题 A: ASC
- 试题 B : 卡片
- 试题 C: 直线
- 试题 D: 货物摆放
- 试题 E: 路径
- 试题 F: 时间显示
- 试题 G: 最少砝码
- 试题 H: 杨辉三角形
- 试题 I: 双向排序
- 试题 J: 括号序列
发现宝藏
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。
【考生须知】
考试开始后, 选手首先下戟题日, 并使用考场现场公布的解压密码解压试题。
考试时间为 4 小时。考试期间选手可浏览白已已经提交的答案, 被浏览的答案允许拷贝。时间截止后, 将无法继续提交或浏览答案。
对同一题目, 选手可多次提交答案, 以最后一次提交的答案为准。
选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。
试题包含“结果填空”和“程序设计”两种题型。
结果填空题: 要求选于根据题日描述直接填写结果。求解方式不限。不要求源代码。把结果媜空的答案直接通过网页提交即可, 不要书写多余的内容。
程序设计题: 要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果才有机会得分。
注意: 在评炎时使用的输入数据与试炎中给出的示例数据可能是不同的。迅手的程序必须是通用的, 不能只对试卷中给定的数据有效。
所有源码必须在同一文件中。调试通过后,拷贝提交.
注意: 不要使用 package 语句。
注意: 选手代码的主类名必须为: Main, 否则会被判为无效代码。
注意: 如果程序中引用了类库, 在提交时必须将 import 语句与程序的其他部分同时提交。只允许使用 Java 自带的类库。
试题 A: ASC
本题总分: 5 分
【问题描述】
已知大写字母 A 的 ASCII 码为 65 , 请问大写字母 L 的 ASCII 码是多少?
【答案提交】
这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。
试题 B : 卡片
本题总分: 5 分
【问题描述】
小蓝有很多数字卡片, 每张卡片上都是数字 0 到 9 。
小蓝准备用这些卡片来拼一些数, 他想从 1 开始拼出正整数, 每拼一个,就保存起来, 卡片就不能用来拼其它数了。
小蓝想知道自己能从 1 拼到多少。
例如, 当小蓝有 30 张卡片, 其中 0 到 9 各 3 张, 则小蓝可以拼出 1 到 10 ,但是拼 11 时卡片 1 已经只有一张了, 不够拼出 11 。
现在小蓝手里有 0 到 9 的卡片各 2021 张, 共 20210 张, 请问小蓝可以从 1 拼到多少?
提示:建议使用计算机编程解决问题。
【答案提交】
这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。
试题 C: 直线
本题总分: 10 分
【问题描述】
在平面直角坐标系中, 两点可以确定一条直线。如果有多点在一条直线上,那么这些点中任意两点确定的直线是同一条。
给定平面上 2 × 3 2 \times 3 2×3 个整点 { ( x , y ) ∣ 0 ≤ x < 2 , 0 ≤ y < 3 , x ∈ Z , y ∈ Z } \{(x, y) \mid 0 \leq x<2,0 \leq y<3, x \in {Z}, y \in Z\} {(x,y)∣0≤x<2,0≤y<3,x∈Z,y∈Z}, 即横坐标是 0 到 1 (包含 0 和 1 ) 之间的整数、纵坐标是 0 到 2 (包含 0 和 2 ) 之间的整数的点. 这些点一共确定了 11 条不同的直线。
给定平面上 20 × 21 20 \times 21 20×21 个整点 { ( x , y ) ∣ 0 ≤ x < 20 , 0 ≤ y < 21 , x ∈ Z , y ∈ Z } \{(x, y) \mid 0 \leq x<20,0 \leq y<21, x \in Z, y \in Z\} {(x,y)∣0≤x<20,0≤y<21,x∈Z,y∈Z}, 即横坐标是 0 到 19 (包含 0 和 19) 之间的整数、纵坐标是 0 到 20 (包含 0 和 20) 之间的整数的点。请问这些点一共确定了多少条不同的直线。
【答案提交】
这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。
试题 D: 货物摆放
本题总分: 10 分
【问题描述】
小蓝有一个超大的仓库, 可以摆放很多货物。
现在, 小蓝有 n n n 箱货物要摆放在仓库, 每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向, 每箱货物的边都必须严格平行于长、宽、高。
小蓝希望所有的货物最终提成一个大的长方体。即在长、宽、高的方向上分别堆 L 、 W 、 H L 、 W 、 H L、W、H 的货物, 满足 n = L × W × H n=L \times W \times H n=L×W×H 。
给定 n n n, 请问有多少种堆放货物的方案满足要求。
例如, 当 n = 4 n=4 n=4 时, 有以下 6 种方案: 1 × 1 × 4 、 1 × 2 × 2 、 1 × 4 × 1 、 2 × 1 × 2 1 \times 1 \times 4 、 1 \times 2 \times 2 、 1 \times 4 \times 1 、 2 \times 1 \times 2 1×1×4、1×2×2、1×4×1、2×1×2 、 2 × 2 × 1 、 4 × 1 × 1 2 \times 2 \times 1 、 4 \times 1 \times 1 2×2×1、4×1×1 。
请问, 当 n = 2021041820210418 n=2021041820210418 n=2021041820210418 (注意有 16 位数字)时, 总共有多少种方案?
提示: 建议使用计算机编程解决问题。
【答案提交】
这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。
试题 E: 路径
本题总分: 15 分
【问题描述】
小蓝学习了最短路径之后特别高兴, 他定义了一个特别的图, 希望找到图中的最短路径。
小蓝的图由 2021 个结点组成, 依次编号 1 至 2021 。
对于两个不同的结点 a , b a, b a,b, 如果 a a a 和 b b b 的差的绝对值大于 21 , 则两个结点之间没有边相连: 如果 a a a 和 b b b 的差的绝对值小于等于 21 , 则两个点之间有一条长度为 a a a 和 b b b 的最小公倍数的无向边相连。
例如: 结点 1 和结点 23 之间没有边相连; 结点 3 和结点 24 之间有一条无向边, 长度为 24 ; 结点 15 和结点 25 之间有一条无向边, 长度为 75 。
请计算, 结点 1 和结点 2021 之间的最短路径长度是多少。
提示: 建议使用计算机编程解决问题。
【答案提交】
这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。
试题 F: 时间显示
时间限制: 1.0 s 1.0 \mathrm{~s} 1.0 s 内存限制: 512.0 M B 512.0 \mathrm{MB} 512.0MB 本题总分: 15 分
【问题描述】
小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间, 用一个整数表示, 值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。
现在, 小蓝要在客户踹显示出这个时间。小笽不用显示出年月日,只需眢显示出时分秒即可,毫秒也不用显示,直接舍去即可。
给定一个用整数表示的时间, 请将这个时间对应的时分秒输出。
【输入格式】
输入一行包含一个整数, 表示时间。
【输出格式】
输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 0 到 23, MM 表示分, 值为 0 到 59, SS 表示秒, 值为 0 到 59。时、分、秒不足两位时补前导 0 。
【样例输入 1 】
46800999 \begin{array}{llllll}46800999\end{array} 46800999
【样例输出 1 】
13 : 00 : 00 \begin{array}{llllll}13: 00: 00\end{array} 13:00:00
【样例输入 2】
1618708103123 \begin{array}{llllll}1618708103123 \end{array} 1618708103123
【样例输出 2 】
01 : 08 : 23 \begin{array}{llllll}01: 08: 23 \end{array} 01:08:23
【评测用例规模与约定】
对于所有评测用例, 给定的时间为不超过 1 0 18 10^{18} 1018 的正整数。
试题 G: 最少砝码
时间限制: 1.0 s 1.0 \mathrm{~s} 1.0 s 内存限制: 512.0 M B 512.0 \mathrm{MB} 512.0MB 本题总分: 20 分
【问题描述】
你有一架天平。现在你要设计一套砝码, 使得利用这些砝码可以称出任意小于等于 N N N 的正整数重量。
那么这套砝码最少需要包含多少个砝码?
注意砝码可以放在天平两边。
【输入格式】
输入包含一个正整数 N N N 。
【输出格式】
输出一个整数代表答案。
【样例输入】
7 \begin{array}{llllll}7 \end{array} 7
【样例输出】
3 \begin{array}{llllll}3 \end{array} 3
【样例说明】
3 个砝码重量是 1 、 4 、 6 1 、 4 、 6 1、4、6, 可以称出 1 至 7 的所有重量。
1 = 1 1=1 1=1;
2 = 6 − 4 ( 2=6-4( 2=6−4( 天平一边放 6 , 另一边放 4 ) ) );
3 = 4 − 1 ; 3=4-1 ; 3=4−1;
4 = 4 4=4 4=4
5 = 6 − 1 5=6-1 5=6−1;
6 = 6 6=6 6=6;
7 = 1 + 6 ; 7=1+6 ; 7=1+6;
少于 3 个砝码不可能称出 1 至 7 的所有重量。
【评测用例规模与约定】
对于所有评测用例, 1 ≤ N ≤ 1000000000 1 \leq N \leq 1000000000 1≤N≤1000000000 。
试题 H: 杨辉三角形
时间限制: 5.0 s 5.0 \mathrm{~s} 5.0 s 内存限制: 512.0 M B 512.0 \mathrm{MB} 512.0MB 本题总分: 20 分
【问题描述】
下面的图形是著名的杨辉三角形:
如果我们按从上到下、从左到右的顺序把所有数排成一列, 可以得到如下数列:
1 , 1 , 1 , 1 , 2 , 1 , 1 , 3 , 3 , 1 , 1 , 4 , 6 , 4 , 1 , … 1,1,1,1,2,1,1,3,3,1,1,4,6,4,1, \ldots 1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,…
给定一个正整数 N N N, 请你输出数列中第一次出现 N N N 是在第几个数?
【输入格式】
输入一个整数 N N N 。
【输出格式】
输出一个整数代表答案。
【样例输入】
6 \begin{array}{llllll}6\end{array} 6
【样例输出】
13 \begin{array}{llllll}13\end{array} 13
【评测用例规模与约定】
对于 20 % 20 \% 20% 的评测用例, 1 ≤ N ≤ 10 1 \leq N \leq 10 1≤N≤10;
对于所有评测用例, 1 ≤ N ≤ 1000000000 1 \leq N \leq 1000000000 1≤N≤1000000000 。
试题 I: 双向排序
时间限制: 5.0s 内存限制: 512.0MB 本题总分: 25 分
【问题描述】
给定序列 ( a 1 , a 2 , ⋯ , a n ) = ( 1 , 2 , ⋯ , n ) \left(a_{1}, a_{2}, \cdots, a_{n}\right)=(1,2, \cdots, n) (a1,a2,⋯,an)=(1,2,⋯,n), 即 a i = i a_{i}=i ai=i 。
小蓝将对这个序列进行 m m m 次操作,每次可能是将 a 1 , a 2 , ⋯ , a q i a_{1}, a_{2}, \cdots, a_{q i} a1,a2,⋯,aqi 降序排列,或者将 a q , a q , + 1 , ⋯ , a n a_{q}, a_{q,+1}, \cdots, a_{n} aq,aq,+1,⋯,an 升序排列。
请求出操作完成后的序列.
【输入格式】
输入的第一行包含两个整数 n , m n, m n,m, 分别表示序列的长度和操作次数。
接下来 m m m 行描述对序列的操作, 其中第 i i i 行包含两个整数 p i , q i p_{i}, q_{i} pi,qi 表示操作类型和参数。当 p i = 0 p_{i}=0 pi=0 时, 表示将 a 1 , a 2 , ⋯ , a i a_{1}, a_{2}, \cdots, a_{i} a1,a2,⋯,ai 降序排列: 当 p i = 1 p_{i}=1 pi=1 时, 表示将 a q , a q i + 1 , ⋯ , a n a_{q}, a_{q i+1}, \cdots, a_{n} aq,aqi+1,⋯,an 升序排列。
【输出格式】
输出一行, 包含 n n n 个整数, 相剑的整数之间使用一个空格分隔, 表示操作完成后的序列。
【样例输入】
3 3 \begin{array}{llllll}3&3\end{array} 33
0 3 \begin{array}{llllll}0&3\end{array} 03
1 2 \begin{array}{llllll}1&2\end{array} 12
0 2 \begin{array}{llllll}0&2\end{array} 02
【样例输出】
3 1 2 \begin{array}{llllll}3&1&2\end{array} 312
【样例说明】
原数列为 ( 1 , 2 , 3 ) (1,2,3) (1,2,3) 。
第 1 步后为 ( 3 , 2 , 1 ) (3,2,1) (3,2,1) 。
第 2 步后为 ( 3 , 1 , 2 ) (3,1,2) (3,1,2) 。
第 3 步后为 ( 3 , 1 , 2 ) (3,1,2) (3,1,2) 。 与第 2 步操作后相同, 因为前两个数已经是降序了。
【评测用例规模与约定】
对于 30 % 30 \% 30% 的评测用例, n , m ≤ 1000 n, m \leq 1000 n,m≤1000;
对于 60 % 60 \% 60% 的评测用例, n , m ≤ 5000 n, m \leq 5000 n,m≤5000;
对于所有评测用例, 1 ≤ n , m ≤ 100000 , 0 ≤ p i ≤ 1 , 1 ≤ q i ≤ n 1 \leq n, m \leq 100000,0 \leq p_{i} \leq 1,1 \leq q_{i} \leq n 1≤n,m≤100000,0≤pi≤1,1≤qi≤n 。
试题 J: 括号序列
时间限制: 5.0 s 5.0 \mathrm{~s} 5.0 s 内存限制: 512.0 M B 512.0 \mathrm{MB} 512.0MB 本题总分: 25 分
【问题描述】
给定一个括号序列, 要求尽可能少地添加若干括号使得括号序列变得合法,当添加完成后, 会产生不同的添加结果, 请问有多少种本质不同的添加结果。两个结果是本质不同的是指存在某个位置一个结果是左括号, 而另一个是右括号。
例如, 对于括号序列 ((() , 只需要添加两个括号就能让其合法, 有以下几种不同的添加结果: ()()()、()(())、(())()、(()()) 和 ((()))。
【输入格式】
输入一行包含一个字符串 s s s, 表示给定的括号序列, 序列中只有左括号和右括号・
【输出格式】
输出一个整数表示答案, 答案可能很大, 请输出答案除以 1000000007 (即 1 0 9 + 7 ) \left.10^{9}+7\right) 109+7) 的余数。
【样例输入】
( ( ( ) \begin{array}{llllll}((()\end{array} ((()
【样例输出】
5 \begin{array}{llllll}5\end{array} 5
【评测用例规模与约定】
对于 40 % 40 \% 40% 的评测用例, ∣ s ∣ ≤ 200 |s| \leq 200 ∣s∣≤200 。
对于所有评测用例, 1 ≤ ∣ s ∣ ≤ 5000 1 \leq|s| \leq 5000 1≤∣s∣≤5000 。