日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【EOJ Monthly 2018.10 - A】oxx 的小姐姐们(模拟,水题,填充矩阵,输出格式有坑) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題干:

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 的小姐姐们(模拟,水题,填充矩阵,输出格式有坑)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。