智能算法挑战复赛初中组
(总共 4 道题)
1. 输出多进制数
【题目描述】
输入一个小于 20 的正整数 n, 要求按从小到大的顺序输出所有的 n位 m进制数 ,
每个数占一行。
【 输入 格式】
输入一个小于 20 的正整数 n,和一个小于 10 的正整数 m。
【 输出 格式】
按从小到大的顺序输出所有的 n位 m进制数,每个数占一行。
【 样例输入 】 (测试数据不包含本样例)
3 2
【 样例输出 】
000
001
010
011
100
101
110
111
2. 自动驾驶汽车的路径规划问题
【题目描述】
一个自动驾驶的汽车 ,其只能按照调度系统到指定的景点停车场进行充电 ,每个
景点中间的路上,都会有一些游客上车前往下一个景点。调度系统会告诉自动驾驶
汽车,到哪个景点的停车场上充电,但具体走那条路到该停车场充电没有限制,但
是自动驾驶汽车在每次行进过程中,不能重复到达同一个景点。请设计算法,给出
从景点 a到景点 b进行充电 ,再返还景点 a,这个自动驾驶汽车如何规划行进线路 ( 线
路上不能到达同一个景点多次),使得沿途接上的游客数量是最多的,并输出最多
的上车的游客数量。
【 输入 格式】
第一行有两个数: n和 m,其中 n表示景点的数量, m是景点间的单行道数量。
第二行到第 m+1 行 , 有三个整数 : 第一个数是起始景点的编号 , 第二个数是该路
径终点景点的编号,第三个数是从起点到终点,需要乘车的人数。
第 m+2 行 , 有两个数字 , 第一个数字是自动驾驶汽车的出发景点 , 第二数字是中
间进行充电的景点编号。
【 输出 格式】
一个数,表示该自动驾驶汽车往返一次,可以接送最多多少人。
【 样例输入 】 (测试数据不包含本样例)
3 5
1 2 4
2 1 6
1 3 11
3 1 3
2 3 2
1 2
【 样例输出 】
10
3. 删除 k位数字,得到最小的数
【 题目描述 】
输入一个 数字串 N, 长度 不超过 250 位 , 去掉其中任意 k个数字后剩下的数字按
原左右次序将组成一个新的整数 ,要求组成新的整数最小 。
【 输入格式 】
输入两行正整数。
第一行输入一个高精度的正整数 n。
第二行输入一个正整数 k,表示需要删除的数字个数。
【 输出格式 】
输出一个整数,最后剩下的最小数。
【 样例输 入】(测试数据不包含本样例)
175438
4
【 样例输出 】
13
4. 在 AI 下棋程序中,计算猫抓老鼠游戏的概率
【题目描述】
有这样一个游戏 : 在一个 n*n 的格子棋盘里 , n是奇数 ; 有两种棋子 , 一个是只
能横向移动的棋子猫,一个是可以上下左右移动的棋子老鼠。假设老鼠在棋盘的正
中央,第一步老鼠将进行上下左右的随机移动。棋子猫在从棋盘的中间行的最左边
向棋盘的最右边移动,棋子猫每次移动只能是从左到右移动一步,第一步是猫位于
棋盘的中间行的最左边格子。请问:在猫移动到棋盘外面前,会有多大概率抓到老
鼠?
【 输入 格式】
输入 一个大于 1的奇数 n,表示棋盘的大小。
【 输出 格式】
棋子猫抓到棋子老鼠的概率 。 (小数四舍五入保留 4位有效数字)
【 样例输入 】 (测试数据不包含本样例)
3
【 样例输出 】
0.6667
C++智能算法复赛初中组,信息素养大赛智能算法C++复赛初中组真题