Circle
时间限制:10s 空间限制:128MB
题目描述
有 n个排成一圈的格子,并且已知正整数k和m,你需要往每个格子中填入一个大于等于k的
正整数。将相邻的一些格子(或一个单独的格子)中的数加起来,可以产生一个新的数。
假设使用格子中的数可以产生出m,m+1,…i,但不能产生i+1。求出往格子中填入哪些数,可
以使得i尽量大。
输入格式
三行,每行一个整数分别为n,m,k。(k<=m)
输出格式
第一行一个正整数,表示最大的i
下面若干行,每行为一个使i最大的填数方案,接照字典序列升序排列。每行N个正整数a1,a2....an,表示依次向格子填 入的数,其中a1是N个数中最小的数。
注意(1,1,2,3),(1,3,2,1),(1,2,3,1),(1,1,3,2)被认为是不同的方案,都要输出。
样例输入
5 2 1
样例输出
21 1 3 10 2 5 1 5 2 10 3 2 4 9 3 5 2 5 3 9 4
提示
n<=6,k<=m<=20。
题目来源
搜索