问题 C: 网格涂色

题目描述

有一个 H 行 W 列的网格矩阵。现在有 N 种颜色,编号 1 到 N。

- 对于每种颜色,即每个 i(1≤i≤N),恰好有 ai 个网格被涂成颜色 i。这里 a1+a2+...+aN=H×W

- 对于每种颜色,即每个 i(1≤i≤N),所有被涂成第 i 种颜色的网格是联通的。

找到一种网格矩阵的涂色方案,使得上述两个条件得以满足。可以证明,方案是存在的。

输入

第一行两个整数 H 和 W。

第二行一个整数 N。

第三行 N 个整数,a1,a2,...,aN。

输出

输出 H 行,每行 W 个整数,分别代表 ci,1,....,ci,W。

样例输入输出

样例输入 #1

2 2
3
2 1 1

样例输出 #1

1 1
3 2

样例输入 #2

3 5
5
1 2 3 4 5

样例输出 #2

2 5 5 5 3
2 5 4 5 3
1 4 4 4 3

样例输入 #3

1 1
1
1

样例输出 #3

1

数据范围

1≤H,W≤100

1≤N≤H×W

ai≥1

思路:

#include<iostream>
#include<fstream>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,t,a[10010],k,b[110][1
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值