题干:

Time limit per test: 1.0 seconds

Memory limit: 512 megabytes

oxx 和他的小姐姐(们)躺在图书馆前的大草坪上看星星。

有强迫症的 oxx 想要使得他的小姐姐们正好躺成一块 n×m 的长方形。

已知小姐姐的形状是 1×p 的长方形(可以横着或竖着躺)。小姐姐从 1 到 nm 编号总共有 nm 个(如果可以的话,绝对够用)。

P.S. 小姐姐是 1×p 的是因为她们比较苗条。

Input

输入三个整数 n , m , p (1≤n,m,p≤100 ,p 是质数)。

Output

如果不行,输出 No

否则输出 Yes。随后输出 n 行 m 列正整数用空格隔开。同一个小姐姐用相同的数字表示,不同的小姐姐用不同的数字表示。数字应是在 [1,nm] 范围内的正整数。同一个数字至多出现 p 次,这 p 次应该在横向连续,或者纵向连续。

如果有多解输出任意一解。

Examples

Input

2 3 2

Output

Yes
2 2 3
1 1 3

Input

3 3 2

Output

No

Input

3 3 3

Output

Yes
2 2 2
1 1 1
3 3 3

Input

2 3 2

Output

Yes
6 3 3
6 4 4

Input

4 2 2

Output

Yes
2 7
2 7
5 5
3 3

Note

请注意对于最后一组样例输出:

2 1
2 1
1 2
1 2

是不合法的。因为不同的小姐姐必须用不同的数字表示。你居然把 1 号小姐姐和 2 号小姐姐克隆了 QAQ。

解题报告:

题目不算难那,直接模拟就好了。先由样例可以试出来No的条件。然后剩下Yes的构造一个解就可以了。首先为了统一,令列数大于行数(swap一下),即保证这是一个躺着的矩形,然后按行遍历,填数字,然后对于剩下还没有填的,按每一列进行遍历填数字就可以了。最后输出的时候看最初是否行列交换过,来判断输出格式。

AC代码:

#include<bits/stdc++.h>using namespace std;
int n,m,p;
int maze[105][105];
bool bk[105][105];
int main()
{cin>>n>>m>>p;if(n%p==0 || m%p==0) puts("Yes");else {puts("No");return 0;}int cur = 1,cnt = 0;bool flag = 0;if(n > m) flag=1,swap(n,m);for(int i = 1; i<=n; i++) {for(int j = 1; j<=m-(m%p); j++) {maze[i][j] = cur;bk[i][j]=1;cnt++;if(cnt % p == 0) cur++;}}int st = m-(m%p)+1;for(int i = st; i<=m; i++) {for(int j = 1; j<=n; j++) {if(bk[j][i] == 0) {maze[j][i] = cur;bk[j][i]=1;cnt++;if(cnt%p==0) cur++;}}}if(flag) {for(int i = 1; i<=m; i++) {for(int j = 1; j<=n; j++) {printf("%d%c",maze[j][i],j==n?'\n' : ' ');}}}else {for(int i = 1; i<=n; i++) {for(int j = 1; j<=m; j++) {printf("%d%c",maze[i][j],j==m?'\n' : ' ');}}}return 0 ;
}

总结:

1.有的时候多开一个bk数组会省好多事。

2.刚开始对于剩下的想直接遍历整个矩阵:如果bk==0那就填数,但是发现不行,因为就填不成以列了。

【EOJ Monthly 2018.10 - A】oxx 的小姐姐们(模拟,水题,填充矩阵,输出格式有坑)相关推荐

  1. 【EOJ Monthly 2018.10 - B】 莫干山奇遇 (思维构造,数学,数组,贪心)(总结)

    题干: Time limit per test: 2.0 seconds Memory limit: 512 megabytes 出题人当然是希望出的题目有关 oxx,于是想方设法给题目配上一些有关 ...

  2. 华东师范大学2018.11月赛【EOJ Monthly 2018.11】

    [EOJ Monthly 2018.11] A. 心与心的距离 Time limit per test: 2.0 seconds Memory limit: 512 MB 近在咫尺,远在天边.心与心的 ...

  3. 处女座和小姐姐(模拟)

    链接:https://ac.nowcoder.com/acm/contest/329/E 来源:牛客网 既然昨天晚上处女座已经训练了,明天才要交作业,那今天就是平淡无奇要上课的一天了. 然而处女座也想 ...

  4. EOJ Monthly 2018.12 B. 清点星辰(蒙特卡洛模拟)

    B. 清点星辰 单测试点时限: 2.0 秒 内存限制: 512 MB "夜里, 你要抬头仰望满天的星星. 我那颗实在太小了, 我都没法指给你看它在哪儿." 这样倒也好,我的星星,对 ...

  5. EOJ Monthly 2018.11 D. 猜价格

    猜价格 分两种情况讨论: k≤n,先猜至多 k 次 1,由于回答 <1 肯定是假的,所以可以把剩余系下是哪次错试出来,然后用至多 n 次搞定. k>n,每个数都猜两次,如果两次结果不一样, ...

  6. EOJ Monthly 2018.1

    985月赛,当时鸽了,现在想补一补 A. 石头剪刀布的套路 Time limit per test: 1.0 seconds Memory limit: 256 megabytes 现在有一种石头剪刀 ...

  7. EOJ Monthly 2019.11 E. 数学题(反演 + 杜教筛 + 拉格朗日插值)

    EOJ Monthly 2019.11 ∑i=1n∑a1=1i∑a2=1i∑a3=1i⋯∑ak−1i∑aki[gcd(a1,a2,a3,-,ak−1,ak,i)==1]=∑i=1n∑d∣iμ(d)⌊i ...

  8. 【比赛报告】2018.10.11校赛[8-2情人节欢乐赛] NOIP练习赛卷十二

    比赛时间:2018.10.10 选手:lrllrl 成绩 100+100+100=300 用时:约1h T1 果实计数 显然易得,答案为 b n m o d    k b^n\mod k bnmodk ...

  9. 2018年10月自考计算机应用基础真题,2018年10月全国自考《计算机应用基础》真题与答案...

    高等教育自学考试的考试时间慢慢临近,备考复习也越来越紧张,四川自考网蓝优悠教育中心的南充自考助手为大家精心准备了"2018年10月全国自考<计算机应用基础>真题与答案" ...

最新文章

  1. 2.1:CGPROGRAM
  2. android 两种设置全屏的activity方式
  3. mysql出现unblock with 'mysqladmin flush-hosts'
  4. Oracle Database 12c(12.1) Beta已经开始内部测试
  5. xampp php源码的路径,php – XAMPP中的根路径
  6. JAVA 泛型中的通配符 T,E,K,V,?
  7. [转]暴牛!全国女生录用老公统一考试试卷
  8. c++中求前n项和(这代码不得不让我佩服)
  9. CentOs基础操作指令(vim、关机)
  10. 蓝桥杯 ALGO-42 算法训练 送分啦
  11. mysql 权限管理无效_mysql 权限控制笔记
  12. maven整合ssh框架笔记
  13. A bit of fun: fun with bits[翻译]
  14. oracle 模拟阻塞,Oracle 阻塞(blocking blocked)介绍和实例演示
  15. java 高效遍历map_精髓!Java中遍历Map集合的五种方式
  16. 产品读书《周鸿祎-我的互联网方法论》
  17. 很强大的上网行为管理终端软件-云子可信-一键禁止访问视频网站
  18. instant app入门与开发指南
  19. cad面积计算机,CAD中如何计算面积,计算面积的方法和命令汇总
  20. 在Silverlight 2 beta1中使用IronPython等动态语言

热门文章

  1. oracle distinct分页优化_Oracle SQL性能优化最常用的40条建议
  2. Codeforces Round #735 (Div. 2)(A-D)没有B
  3. java服务注册中心有哪些_Spring Cloud服务注册中心简述
  4. 无线 在linux叫什么地方,请问有知道atheros无线网卡Linux驱动官方下载地址是什么吗?...
  5. sqlite3_setp
  6. eventfd以及epoll原理分析
  7. Linux两种定时器
  8. wince6.0开机自启动应用程序
  9. 在vlan2用计算机名访问,计算机是如何访问一个网页的?vlan间如何实现通信?
  10. Linux 编译 libc log,在Android的源码中添加LOG