loj#P6748. 「THUPC 2021 初赛」棋盘
「THUPC 2021 初赛」棋盘
题目描述
有一个 行 列的棋盘,共有 个格子。请你在格子内放入棋子(每个格子可以放入至多一个棋子),使得对于所有 ,第 列里恰好包含 个棋子。另外,棋盘上的任意两颗棋子都不能边相邻。
请判断是否存在一种合法方案。如果存在,请输出任意一个合法方案。
输入格式
输入的第一行包含两个正整数 ,保证 。
输入的第二行包含 个非负整数 ,保证 。
输出格式
如果无解,输出一个字符串 No
。
如果有解,第一行输出一个字符串 Yes
,接下来 行每行输出一个长度为 的字符串,表示你构造的棋盘方案。其中 0
表示空格,1
表示放入棋子的格子。
3 4
2 1 2 1
Yes
1010
0101
1010
3 4
2 3 3 3
No
来源
来自 2021 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2021)初赛。
题解等资源可在 https://github.com/THUSAAC/THUPC2021-pre 查看。