题目名称 3462. [POJ 2279]杨老师的照相排列
输入输出 Permutations.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 1
题目来源 Gravatargao 于2020-09-04加入
开放分组 全部用户
提交状态
分类标签
线性DP 动态规划
分享题解
通过:10, 提交:42, 通过率:23.81%
Gravatar┭┮﹏┭┮ 100 0.590 s 224.16 MiB C++
Gravatar健康铀 100 0.610 s 224.16 MiB C++
Gravatarsyzhaoss 100 0.618 s 220.85 MiB C++
Gravatar增强型图元文件 100 0.623 s 224.16 MiB C++
Gravatar增强型图元文件 100 0.634 s 224.16 MiB C++
GravatarNj_L 100 0.643 s 221.71 MiB C++
Gravatar黄天宇 100 0.654 s 221.77 MiB C++
Gravatar元始天尊 100 0.660 s 221.73 MiB C++
GravatarNj_L 100 0.682 s 221.76 MiB C++
Gravatar黄天乐 100 0.703 s 221.77 MiB C++
关于 杨老师的照相排列 的近10条评论(全部评论)

3462. [POJ 2279]杨老师的照相排列

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

【题目描述】

杨老师想给他的班$N$名学生照张相,学生的身高互不相同,把他们的身高从高到低依次标记为$1,2,\cdots,N$。

学生们将站成$k$行,每行分别有$N_1,N_2,\cdots,N_k$人,每一行的长度不超过其后面的一行,并且每行的左端对齐。例如,12名学生可以(从后到前),由5名、3名、3名和1名学生组成。

X X X X X
X X X
X X X
X

此外,杨老师希望每排学生的身高从左到右逐渐降低,从后到前降也要逐渐降低。杨先生发现,对于12个学生的例子,至少有两种方法来安排: 

 1  2  3  4  5     1  5  8 11 12
 6  7  8           2  6  9
 9 10 11           3  7 10
12                 4
下面的一排三角矩阵给出了当 $N=6,k=3,N_1=3,N_2=2,N_3=1$时的全部16种合影方案。注意身高最高的是1,最低的是6。
123 123 124 124 125 125 126 126 134 134 135 135 136 136 145 146
45  46  35  36  34  36  34  35  25  26  24  26  24  25  26  25
6   5   6   5   6   4   5   4   6   5   6   4   5   4   3   3

【输入格式】

输入包含多组测试数据。

每组数据两行,第一行包含一个整数$k$表示总排数。

第二行包含$k$个整数,表示从后向前每排的具体人数。

当输入$k=0$的数据时,表示输入终止,且该数据无需处理。

【输出格式】

每组测试数据输出一个答案,表示不同安排的数量。

每个答案占一行。

【样例输入】

1
30
5
1 1 1 1 1
3
3 2 1
4
5 3 3 1
5
6 5 4 3 2
2
15 15
0

【样例输出】

1
1
16
4158
141892608
9694845

【数据范围】

$1≤k≤5$,学生总人数不超过$30$人。

【来源】

《算法竞赛进阶指南》