UOJ Logo 黑暗爆炸OJ

DARKBZOJ

#3274. Circle

统计 下载数据

Description

有n个排成一圈的格子,并且已知正整数k和m,你需要往每个格子中填入一个大于等于k的正整数。将相邻的一些格
子(或一个单独的格子)中的数加起来,可以产生一个新的数。假设使用格子中的数可以产生出m,m+1,…i,但不
能产生i+1。求出往格子中填入哪些数,可以使得i尽量大。

Input

三行,每行一个整数分别为n,m,k。(k<=m)
n<=6,k<=m<=20

Output

第一行一个正整数,表示最大的i
下面若干行,每行为一个使i最大的填数方案,接照字典序列升序排列。
每行N个正整数a1,a2....an,表示依次向格子填 入的数,
其中a1是N个数中最小的数。
注意(1,1,2,3),(1,3,2,1),(1,2,3,1),(1,1,3,2)被认为是不同的方案,都要输出。

Sample Input

5
2 1

Sample Output

21
1 3 10 2 5
1 5 2 10 3
2 4 9 3 5
2 5 3 9 4

Hint

Source