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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

zcmu-1176

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zcmu-1176 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1176: 掃雷

Time Limit:?1 Sec??Memory Limit:?128 MB
Submit:?249??Solved:?101
[Submit][Status][Web Board]

Description

大家都應該玩過掃雷這個游戲吧.就是在一個n*m的矩陣中有若干個雷,你需要將他們全部找出來才能獲得勝利.其他格子用數字表示代表這個格子周圍有幾個雷.如果在一個n*m的矩陣中我已經告訴你所有雷的位置,你能將這個矩陣補全嘛?

Input

多組測試數據.每組數據的第一行包含兩個正整數n,m(1<=n,m<=100).接下來n行每行有m個不是9就是-1的整數.9代表這個位置有雷,-1代表這個位置是數字.

Output

對于每組測試數據輸出一個n*m的補全后的矩陣.用一個空行分隔兩個矩陣.注意最有一個矩陣后面沒有空行.

Sample Input

2 39 -1 9-1 -1 92 49 -1 -1 -19 9 9 9

Sample Output

93913994329999

HINT

Source

分析:簡單的bfs,直接對矩陣里不是9的尋找它周圍是雷的數目,然后直接輸出。

坑點:題目最后面說“注意最有一個矩陣后面沒有空行”,我以為真的要弄一個什么標記什么的去除最后一個矩陣的空行,但是第一次直接交就給過了,不知道題目說這個有什么意思。

代碼;

#include<iostream> #include<cstdio> #include<algorithm> #define M 100+10 using namespace std;int a[M][M]; void bfs(int n,int m) {int z=0;for(int i=0; i<n; i++){for(int j=0; j<m; j++){z=0;if(a[i][j]==9)printf("9");else{for(int x=-1; x<2; x++)for(int y=-1; y<2; y++){int p=i+x;int q=j+y;if(p>=0&&p<n&&q>=0&&q<m){if(a[p][q]==9)z++;}}printf("%d",z);}}printf("\n");} } int main() {int n,m;while(~scanf("%d%d",&n,&m)){for(int i=0; i<n; i++)for(int j=0; j<m; j++)scanf("%d",&a[i][j]);bfs(n,m);printf("\n");}return 0; }


總結

以上是生活随笔為你收集整理的zcmu-1176的全部內容,希望文章能夠幫你解決所遇到的問題。

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