题目名称 1388. circle
输入输出 circleb.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarcqw 于2013-07-10加入
开放分组 全部用户
提交状态
分类标签
搜索法
分享题解
通过:3, 提交:10, 通过率:30%
GravatarBennettz 100 0.393 s 40.29 MiB C++
GravatarBennettz 100 0.439 s 40.29 MiB C++
Gravatarsdzwyq 100 3.824 s 0.31 MiB C++
Gravatartest 80 5.416 s 5.83 MiB C++
Gravataradshj 60 0.705 s 0.30 MiB C++
GravatarBennettz 50 5.150 s 0.33 MiB C++
Gravatarsdzwyq 40 6.412 s 0.36 MiB C++
Gravatarlingyixiaoyao 0 0.030 s 0.22 MiB C++
Gravataradshj 0 10.000 s 0.29 MiB C++
Gravataradshj 0 10.000 s 0.30 MiB C++
本题关联比赛
20130711
关于 circle 的近10条评论(全部评论)
☆☆☆☆☆☆☆☆☆☆
Gravatar烟雨
2017-10-07 15:01 3楼
错了,5星神题。
Gravatarサイタマ
2017-10-06 21:02 2楼
半星的题,每人水过吗?
Gravatarサイタマ
2017-10-06 20:58 1楼

1388. circle

★★   输入文件:circleb.in   输出文件:circleb.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


有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

【提示】


30%的数据中,n<=5。

100%的数据中,n<=6,k<=m<=20。


【来源】

在此键入。