时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld
题目描述
奶牛们非常兴奋,因为:农民 John 决定使用 RFID 标签的方式作为奶牛的烙印,取代以前用热铁给牛烙印的方式,因为那样会产生剧烈的疼痛。
RFID 标签包含一个代码,是长度为 N (3 <= N <= 15) 的字符串(每个字符在范围 'A'..'Z')。在一个代码中,不含有两个相同的字符。每个位置上选取的字符取自那个位置给定的一个字符集。每个位置的字符集各自都是按字母序列升序给出。
一台机器按照字典序生成所有代码。每一批新的牛都使用下一个未使用的代码集。FJ 跟踪记录了之前已经有多少代码被使用了。
帮助 FJ 确定 下一批牛的 RFID 代码集。给出开始编号和结束编号(1 <= 开始编号start < 结束编号finish <= 22,000,000 而且结束编号-开始编号 < 2000),输出(按照字典序)被使用的RFID 代码集。请看样例获取更多信息。
输入描述:
Line 1: 三个用空格分隔的整数,分别是: N, start, 和 finish。
Lines 2..N+1: 第 i+1 行含有若干个 (1..26) 字符,表示RFID代码在第i个
位置可以取的字符集。
输出描述:
Lines 1..finish-start+1: 第 i 行是排在start+i-1的 RFID 代码。
示例1
输出
复制
ADHB
ADHC
AECB
AEFB
AEFC
AEHB
AEHC
ALCB
说明
RFID 代码有4位;输出第6个到第13个代码。
这里是最前面的 20 个代码:
1 ACFB 5 ADFC 9 AEFB 13 ALCB 17 ALHC
2 ACHB 6 ADHB 10 AEFC 14 ALFB 18 AQCB
3 ADCB 7 ADHC 11 AEHB 15 ALFC 19 AQFB
4 ADFB 8 AECB 12 AEHC 16 ALHB 20 AQFC