试题 算法训练 印章java
时间: 2023-09-23 10:09:39 浏览: 151
Java算法试题
5星 · 资源好评率100%
题目描述
小明有一个印章,印章上有n个字母。每个字母可以是A~Z中的任何一个大写字母。现在小明想要用这个印章印出一个长度为m的字符串。
但是印章每次只能印出一个长度为k的字符串,每个字母只能使用一次,且印章不能左右翻转使用。
请问小明最少需要印多少次才能完成这个任务。
输入格式
输入共两行。
第一行包含三个整数n,k,m,分别表示印章上的字母个数,印章每次印出的字符串长度,以及需要印出的字符串长度。
第二行包含一个长度为n的字符串,表示印章上的字母。
输出格式
输出一个整数,表示小明最少需要印多少次才能完成这个任务。
数据范围
1≤k≤m≤1000
1≤n≤26
样例
输入样例:
3 2 4
ABC
输出样例:
2
算法1
(动态规划) $O(n^2)$
时间复杂度
参考文献
Python3 代码
C++ 代码
Java 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
阅读全文