T137973 考场座位编排Plus

题目背景

为考场编排座位,要求按照蛇形顺序编排。

题目描述

考场教室有 $n$ 行 $m$ 列座位,现在要安排 $k$ 个考生座位。要求从**右上角**开始按照蛇形顺序编排座位号。现在有一个特殊情况,就是**有些列靠后的座位不能作为考生座位**。 以6行5列安排20个考生座位,**并要求第2列后4个座位、第3列后2个座位、第5列后3个座位不能编排**为例,蛇形顺序编排结果如下图所示: ![](https://wx1.sbimg.cn/2020/07/04/2rtQd.png)

输入格式

一共有2行: 第一行是三个正整数 $n、m$ 和 $k$。(n和m均不大于10,k不大于82) 第二行是 $m$ 个用空格隔开的非负整数,分别表示第1列起,每列后部不能编排的座位数量,每个整数都不超过 $n$。

输出格式

如果不能满足编排,输出`No Answer` 如果能够编排,按照 $n$ 行 $m$ 列的方式输出编排后每个座位的编号,每个座位号占据3个字符位置(不足左边补空格),非考试座位位置输出#。

说明/提示

本测试题是 [T137970 考场座位编排](https://www.luogu.com.cn/problem/T137970) 的升级版,“T137970 考场座位编排”的参考代码如下: ```cpp #include using namespace std; // 二维数组a记录编排结果 // 注意数组大小(多开了一些以“搭建”四周的“边界”) int a[11][11]; //全局int数组,声明后所有元素初始值都为0 int main() { int n,m; cin>>n>>m; //“搭建”四周的“边界” for(int i=0;i