YLT C++ 4级 2021.12
N5485 [CIE 202112 四级 T1] 移动路线
题目描述
桌子上有一个 行 列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为 ,则右上角方格的坐标为 。
小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。蚂蚁始终在方格矩阵内移动,请计算出不同的移动路线的数目。
对于 行 列的方格矩阵,蚂蚁原地移动,移动路线数为 ;对于 行 列(或 行 列)的方格矩阵,蚂蚁只需一次向右(或向上)移动,移动路线数也为 ……对于一个 行 列的方格矩阵,如下图所示:
蚂蚁共有 种移动路线:
路线 : → → →
路线 : → → →
路线 : → → →
输入格式
输入只有一行,包括两个整数 和 ,代表方格矩阵的行数和列数,、 之间用空格隔开
输出格式
输出只有一行,为不同的移动路线的数目。
样例
样例 1
输入:
2 3
输出:
3
提示
无
N5486 [CIE 202112 四级 T2] 移动办公
题目描述
假设你经营着一家公司,公司在北京和南京各有一个办公地点。公司只有你一个人,所以你只能每月选择在一个城市办公。在第 个月,如果你在北京办公,你能获得 的营业额,如果你在南京办公,你能获得 的营业额。但是,如果你某个月在一个城市办公,下个月在另一个城市办公,你需要支付 的交通费。那么,该怎样规划你的行程(可在任何一个城市开始),才能使得总收入(总营业额减去总交通费)最大?
输入格式
输入的第一行有两个整数 和 , 代表总共的月数, 代表交通费。接下来的 行每行包括两个在 到 之间(包括 和 )的的整数,分别表示某个月在北京和在南京办公获得的营业额。
输出格式
输出只包括一行,这一行只包含一个整数,表示可以获得的最大总收入。
样例
样例 1
输入:
4 3
10 9
2 8
9 5
8 2
输出:
31
提示
无
N5487 [CIE 202112 四级 T3] 最长公共子上升序列
题目描述
给定两个整数序列,写一个程序求它们的最长上升公共子序列。 当以下条件满足的时候,我们将长度为 的序列 称为长度为 的序列 的上升子序列: 存在 ,使得对所有 ,均有 ,且对于所有的 ,均有 。
输入格式
每个序列用两行表示,第一行是长度 ,第二行是该序列的 个整数
输出格式
在第一行,输出两个序列的最长上升公共子序列的长度 。在第二行,输出该子序列。如果有不止一个符合条件的子序列,则输出任何一个即可。
样例
样例 1
输入:
5
1 4 2 5 -12
4
-12 1 2 4
输出:
2
1 4
提示
无
N5488 [CIE 202112 四级 T4] 技能树
题目描述
设二叉树中每个节点的子节点数为 或 ,求有 个节点高度为 的不同的二叉树有多少个
(输出 后的结果)。
输入格式
两个空格分开的整数, 和 。
输出格式
第 行: 一个整数,表示可能的技能树的个数除以 的余数。
样例
样例 1
输入:
5 3
输出:
2
提示
有 个节点,高为 的两个不同的技能树。约定: 在 间, 在 间
