P13337 【模板】线性规划

题目描述

本题中你需要求解一个标准型线性规划: 有 $n$ 个实数变量 $x_1,x_2,\dots,x_n$ 和 $m$ 条约束,其中第 $i$ 条约束形如 $\sum_{j=1}^n a_{i,j}x_j \le b_i$。 此外这 $n$ 个变量需要满足非负性限制,即 $x_j\ge 0$。 在满足上述所有条件的情况下,你需要指定每个变量 $x_j$ 的取值,使得目标函数 $F=\sum_{j=1}^n c_j x_j$ 的值最大。 **保证数据随机。**

输入格式

第一行两个正整数 $n,m$。 第二行有 $n$ 个整数 $c_1,c_2,\cdots,c_n$,整数间均用一个空格分隔。 接下来 $m$ 行,每行代表一条约束,其中第 $i$ 行有 $n+1$ 个整数 $a_{i,1},a_{i,2},\cdots,a_{i,n}, b_i$,整数间均用一个空格分隔。

输出格式

如果不存在满足所有约束的解,仅输出一行 `Infeasible`。 如果对于任意的 $M$,都存在一组解使得目标函数的值大于 $M$,仅输出一行 `Unbounded`。 否则,第一行输出一个实数,表示目标函数的最大值 $F$。当第一行与标准答案的相对误差或绝对误差不超过 $10^{-6}$,你的答案被判为正确。 第二行输出用空格隔开的 $n$ 个非负实数,表示此时 $x_1,x_2,\dots,x_n$ 的取值,如有多组方案请任意输出其中一个。 判断第二行是否合法时,我们首先检验 $F$ 与 $\sum_{j=1}^n c_j x_j$ 的相对误差或绝对误差不超过 $10^{-6}$,再对于所有 $i$,检验 $\sum_{j=1}^n a_{i,j}x_j\le b_i$ 或 $\sum_{j=1}^n a_{i,j}x_j$ 与 $b_i$ 的相对误差或绝对误差不超过 $10^{-6}$。若均满足,则判为正确。 如果出现 `Infeasible` 或 `Unbounded` 时,不需要输出第二行。

说明/提示

### 数据范围 对于所有数据,$1\leq n,m \leq 100$,$0 \leq |a_{i,j}|,|b_i|,|c_j|\leq 100$。保证数据随机。 | 子任务编号 | $n,m\le $ | 特殊性质 | 分值 | | ---------- | --------- | ---------- | ---- | | 1 | $10$ | | $20$ | | 2 | $20$ | | $20$ | | 3 | $50$ | $b_i\ge 0$ | $10$ | | 4 | $50$ | | $20$ | | 5 | $100$ | | $30$ |