bzoj#P3274. Circle

Circle

题目描述

有 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。

题目来源

搜索