P6411 [COCI 2008/2009 #3] MATRICA
题目描述
您需要构造一个 $n\times n$ 字符矩阵 $M$。
这个字符矩阵有如下几条限制:
1. $M_{i,j}=M_{j,i}(1\le i,j\le n)$。
1. 必须恰好含有 $a_i$ 个字符 $c_i$。
因为构造的方案有很多种,所以你需要输出方案中字典序最小的。
因为输出太多不好,所有你只需要输出 $p$ 列,具体的方案将会在输入格式中声明。
如果无解,请输出 `IMPOSSIBLE`。
输入格式
无
输出格式
无
说明/提示
#### 数据范围与限制
- 对于 $60\%$ 的数据,保证 $n\le 300$。
- 对于 $80\%$ 的数据,保证 $n\le 3\times 10^3$。
- 对于 $100\%$ 的数据,保证 $1\le n\le 3\times 10^4$,$1\le k\le 26$,$\sum a_i=n^2$,$c_i\neq c_j$,$1\le p\le 50$。
#### 说明
本题译自 [Croatian Open Competition in Informatics 2008/2009](https://hsin.hr/coci/archive/2008_2009) [Contest #3](https://hsin.hr/coci/archive/2008_2009/contest3_tasks.pdf) T4 MATRICA。