信息学奥赛一本通 1970:【15NOIP普及组】扫雷游戏 | OpenJudge NOI 1.8 14:扫雷游戏地雷数计算 | 洛谷 P2670 [NOIP2015 普及组] 扫雷游戏
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1970:【15NOIP普及组】扫雷游戏 | OpenJudge NOI 1.8 14:扫雷游戏地雷数计算 | 洛谷 P2670 [NOIP2015 普及组] 扫雷游戏
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1970:【15NOIP普及組】掃雷游戲
OpenJudge NOI 1.8 14:掃雷游戲地雷數(shù)計(jì)算
洛谷 P2670 [NOIP2015 普及組] 掃雷游戲
【題目考點(diǎn)】
1. 二維數(shù)組
2. 方向數(shù)組
在一個矩陣中,當(dāng)前位置為(sx, sy),將下一個位置與當(dāng)前位置橫縱坐標(biāo)的差值記到一個數(shù)組中,即為方向數(shù)組。
方向數(shù)組有一維數(shù)組和二維數(shù)組兩種寫法,效果是等同的。
以遍歷上下左右四個方向?yàn)槔?#xff1a;
- 一維數(shù)組寫法
- 二維數(shù)組寫法
【解題思路】
輸入二維數(shù)組,遍歷每個位置的周圍8個位置,統(tǒng)計(jì)這8個位置中有幾個是’*’,輸出個數(shù)。
【題解代碼】
解法1:二維方向數(shù)組
#include<bits/stdc++.h> using namespace std; #define N 105 char mp[N][N];//地圖 int dir[8][2] = {{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1}};//方向數(shù)組 int main() {int n, m;cin >> n >> m;for(int i = 1; i <= n; ++i)for(int j = 1; j <= m; ++j)cin >> mp[i][j];for(int i = 1; i <= n; ++i){for(int j = 1; j <= m; ++j){if(mp[i][j] == '*')//如果是雷,直接輸出cout << '*';else{int ct = 0;//計(jì)數(shù)for(int k = 0; k < 8; ++k)//遍歷方向數(shù)組{int x = i + dir[k][0], y = j + dir[k][1];//新的位置為(x, y)if(x >= 1 && x <= n && y >= 1 && y <= m && mp[x][y] == '*')//如果(x,y)在地圖內(nèi)且是*ct++;}cout << ct;}}cout << endl;}return 0; }解法2:一維方向數(shù)組
#include<bits/stdc++.h> using namespace std; #define N 105 char mp[N][N];//地圖 int dx[8] = {0,0,1,1,1,-1,-1,-1}, dy[8] = {-1,1,-1,0,1,-1,0,1};//方向數(shù)組 int main() {int n, m;cin >> n >> m;for(int i = 1; i <= n; ++i)for(int j = 1; j <= m; ++j)cin >> mp[i][j];for(int i = 1; i <= n; ++i){for(int j = 1; j <= m; ++j){if(mp[i][j] == '*')//如果是雷,直接輸出cout << '*';else{int ct = 0;//計(jì)數(shù)for(int k = 0; k < 8; ++k)//遍歷方向數(shù)組{int x = i + dx[k], y = j + dy[k];//新的位置為(x, y)if(x >= 1 && x <= n && y >= 1 && y <= m && mp[x][y] == '*')//如果(x,y)在地圖內(nèi)且是*ct++;}cout << ct;}}cout << endl;}return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1970:【15NOIP普及组】扫雷游戏 | OpenJudge NOI 1.8 14:扫雷游戏地雷数计算 | 洛谷 P2670 [NOIP2015 普及组] 扫雷游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hadoop java访问_Hadoop
- 下一篇: java 异常继承体系_1、异常概述和继