1、最小与最大排列
题目描述:
定一个大小为m的字符集合,打印其全部k排列中按照字典序排序后最小和最大的两个排列。其中m,k > 0, 且 k≤m
输入
第一行:空格分割的字符,互不重复
第二行:排列数k
输出
第一行:字典序排序后的最小排列
第二行:字典序排序后的最大排列
样例输入
a b c
2
样例输出
a b
c b
2、BST判定
题目描述:
判断给定的二叉树是否为二分查找树。假设树的每个节点以整数为键值,且不同节点的键值互不相等。二分查找树成立的判定条件 :
对任何非叶子节点A,如果A存在左子树,则A的键值大于其左子树所有节点的键值,且,如果A存在右子树,则A的键值小于其右子树所有节点的键值。
输入
第一行:根节点键值;
第二行开始,二叉树的结构,每行代表一组根节点与左右子节点的对应关系,-1代表空节点。格式:
根节点键值:左子节点键值|右子节点键值
例如 5:3|-1
表示键值为5的节点,左子节点的键值为3, 右子节点为空节点
假设:所有节点的键值非负,且不超过1023
输出
判断结果,0表示输入不是二分查找树,1表示输入是二分查找树
样例输入
5
5:4|7
4:3|8
7:2|-1
3:-1|-1
8:-1|-1
2:-1|-1
样例输出
0
3、乘方取模
题目描述:
给定非负整数a, b, m, 利用基本的算术运算符(+-*/%)以及位运算符,计算 ab mod m
输入
一行三个非负整数,空格分隔,分 为a b m的值,其中m不为0
输出
ab mod m 的结果
样例输入
2 10 5
样例输出
4