历年北京师范大学保研上机真题
2025北京师范大学保研上机真题
2024北京师范大学保研上机真题
2023北京师范大学保研上机真题
在线测评链接:https://pgcode.cn/problem?classification=1
最少交换次数
题目描述
对一个无序序列进行排序,要求一次只能交换相邻两个数,那么最少需要交换多少次才可以完成排序呢?请你求出一个待排序序列的最少交换次数和对应的逆序列。
本问题假设序列所有数各不相同。
输入格式
输入数组序列元素的个数 n n n,在接下来的一行输入 n n n 个待排序的数字,数字之间以空格为间隔。
输出格式
第一行输出逆序列,第二行输出逆序数。
输入样例
6
48 27 5 6 13 2
输出样例
6 2 5 0 2 2 1 0
18
题目来源
2019
A除以B
题目描述
本题要求计算 $ A/B $,其中 $ A $ 是不超过 $ 1000 $ 位的正整数,$ B $ 是 $ 1 $ 位正整数。
你需要输出商数 $ Q $ 和余数 $ R $,使得 $ A = B \times Q + R $ 成立。
输入格式
输入在一行中依次给出 $ A $ 和 $ B $,中间以 $ 1 $ 空格分隔。
输出格式
在一行中依次输出 $ Q $ 和 $ R $,中间以 $ 1 $ 空格分隔。
输入样例
123456789050987654321 7
输出样例
17636684150141093474 3
题目来源
2019
驼峰命名法转下划线命名法
题目描述
驼峰式命名法:当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如: m y F i r s t N a m e myFirstName myFirstName、 m y L a s t N a m e myLastName myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
下划线命名法:名称中的每一个逻辑点都用一个下划线来标记,例如: p r i n t e m p l o y e e print_employee printemployee。
下划线命名法是随着 C C C 语言的出现流行起来的,在 U N I X / L I N U X UNIX/LINUX UNIX/LINUX 这样的环境,以及 G U N GUN GUN 代码中使用非常普遍。
输入格式
输入一个驼峰式命名法命名的字符串。
输出格式
输出对应的下划线命名法的字符串。
输入样例
myFirstName
myLastName
输出样例
my_first_name
my_last_name
题目来源
2019
砍树
题目描述
多组测试用例,每组测试用例给出不超过 1000 1000 1000 棵树,并且第二行给出每棵树的高度。
初始时,相邻两个树的距离都相等,需要砍掉最少的树使得这些树高度呈现非递减的序列并且相邻之间距离要相等,输出最少砍的树的数目。
输入格式
输入树的棵数 n n n,然后在接下来的一行输入 n n n 个正整数表示树的高度,整数之间以空格为间隔。
输出格式
最少砍掉的树的颗数。
输入样例
6
6 54 3 21 10 1
9 2 8 3 24652 12624
输出样例
5
5
题目来源
2019