P15657 [ICPC 2025 Jakarta R] Binary Grid

题目描述

给定一个包含 $N$ 个非负整数的数组 $A$。你需要构造一个大小为 $N \times M$ 的二进制网格,满足以下条件: - 对于任何值为 $1$ 的单元格,其相邻单元格(即共享其四条边之一的单元格)的值**不能**为 $1$。 - 第 $i$ 行中值为 $1$ 的单元格数量恰好为 $A_i$。 找出任意一个满足条件的二进制网格,或者说明这样的网格无法构造。

输入格式

第一行包含两个整数 $N$ 和 $M$($1 \leq N, M \leq 1000$)。 下一行包含 $N$ 个整数 $A_i$($0 \leq A_i \leq M$)。

输出格式

输出 $N$ 行,每行包含 $M$ 个字符(`0` 或 `1`),表示你构造的二进制网格。如果存在多种构造方案,你可以输出其中任意一种。如果这样的网格不存在,输出 `-1`。

说明/提示

翻译由 DeepSeek V3.2 完成