TopcoderArchive
Archive
Algorithm problem

TheHieroglyphs

Problem statement, definition, constraints, and public examples.

Problem Statement

象形文字H[0],H[1],…,N[n-1]组成的长度为n的序列称为一个句子。如果句子中不存在两个下标i和j(0 <= i < j < n - 1),使得句子中的第iä¸ªå ƒç´ H[i]和第jä¸ªå ƒç´ H[j]是同一个象形文字,且H[i+1]和H[j+1]是不同的象形文字,那么这样的一句话称为是“严格的”。

假设有k个象形文字,请计算长度为n的序列中有多少个是“严格的”。

Definition

Class:
TheHieroglyphs
Method:
count
Parameters:
int, int
Returns:
long
Method signature:
long count(int n, int k)
(be sure your method is public)

Constraints

  • n 和k 的取值在1到18之间,含1和18。

Examples

  1. 7
    1
    Returns: 1
    这里只有1个象形文字,所以只有1种句子,且是“严格”的。
  2. 1
    7
    Returns: 7
  3. 4
    2
    Returns: 6
    我们用A和B表示这2种象形文字,那么能够构造出的长度为4的句子为:AAAA、BBBB、ABBB、BAAA、ABAB、BABA。
  4. 2
    4
    Returns: 16
Back to all problems