泉州网站建设技术公司如何知道一个网站做的什么推广
泉州网站建设技术公司,如何知道一个网站做的什么推广,商城站到商城汽车站,爱网者P2670 [NOIP 2015 普及组] 扫雷游戏 题解
本来打算把从0开始c第三章变量的发出来#xff0c;但我实在过于懒了#xff0c;所以拖更#xff0c;发篇题解凑合一下
而且不在web上写了#xff0c;所以可能会与之前的风格不一样
P2670 [NOIP 2015 普及组] 扫雷游戏
题目背景
NOI…P2670 [NOIP 2015 普及组] 扫雷游戏 题解本来打算把从0开始c第三章变量的发出来但我实在过于懒了所以拖更发篇题解凑合一下而且不在web上写了所以可能会与之前的风格不一样P2670 [NOIP 2015 普及组] 扫雷游戏题目背景NOIP2015 普及组 T2题目描述扫雷游戏是一款十分经典的单机小游戏。在nnn行mmm列的雷区中有一些格子含有地雷称之为地雷格其他格子不含地雷称之为非地雷格。玩家翻开一个非地雷格时该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下找出所有的非地雷格。现在给出nnn行mmm列的雷区中的地雷分布要求计算出每个非地雷格周围的地雷格数。注一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。输入格式第一行是用一个空格隔开的两个整数nnn和mmm分别表示雷区的行数和列数。接下来nnn行每行mmm个字符描述了雷区中的地雷分布情况。字符*\texttt{*}*表示相应格子是地雷格字符?\texttt{?}?表示相应格子是非地雷格。相邻字符之间无分隔符。输出格式输出文件包含nnn行每行mmm个字符描述整个雷区。用*\texttt{*}*表示地雷格用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。输入输出样例 #1输入 #13 3 *?? ??? ?*?输出 #1*10 221 1*1输入输出样例 #2输入 #22 3 ?*? *??输出 #22*1 *21说明/提示对于100%100\%100%的数据1≤n≤100,1≤m≤1001≤n≤100, 1≤m≤1001≤n≤100,1≤m≤100。那么好我们先看题目本题是类似于扫雷小游戏的模拟像在扫雷的时候他会有一个提示?????? ???2?? ?????? ??????中间的2就代表了这个方格的上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子中有2个 ??*??? ???2?? ????*? ?????? 本题也是如此给出雷的位置求每个方格的数字并输出我们可以这么做先创建一个字符串数组紧接着遍历如果方格是?不是地雷就遍历该方格的上、下、左、右、左上、右上、左下、右下如果有一个方格是*是地雷就让方格的计数器指计算该方格数的容器1接着输出如果方格是*是地雷就直接原样输出。怎么做Q如何遍历上、下、左、右、左上、右上、左下、右下的方格A我们可以用两个数组dx,dy来储存到时候再加上。可能我讲的有点复杂可以看代码intdx[]{1,1,1,0,0,-1,-1,-1};intdy[]{-1,0,1,-1,1,-1,0,1};这个数组的妙用就是将x坐标和y坐标加上对应的数值就像这样for(intk0;k8;k){intnxidx[k],nyjdy[k];if(a[nx][ny]*){sum;}}coutsum;AC 代码学术诚信请勿抄代码毕竟我也不想你棕名#includebits/stdc.husingnamespacestd;intdx[]{1,1,1,0,0,-1,-1,-1};intdy[]{-1,0,1,-1,1,-1,0,1};chara[101][101];intn,m;intmain(){cinnm;for(inti1;in;i){for(intj1;jm;j){cina[i][j];}}for(inti1;in;i){for(intj1;jm;j){if(a[i][j]!*){intsum0;for(intk0;k8;k){intnxidx[k],nyjdy[k];if(a[nx][ny]*){sum;}}coutsum;}else{cout*;}}cout\n;}return0;}