zoukankan      html  css  js  c++  java
  • P2670 【扫雷游戏】

    题面哦~~

    lalala~~~

    这题数据并不大,最大不过100*100,所以果断穷举

    其实本来我是想边读边做的,但读入是个问题。

    主要思路呢,就是读完之后穷举一边,只要是炸弹,就把周围一圈8个加一遍

    AC代码:

     1 #include<set>
     2 #include<map>
     3 #include<list>
     4 #include<queue>
     5 #include<stack>
     6 #include<string>
     7 #include<cmath>
     8 #include<ctime>
     9 #include<vector>
    10 #include<bitset>
    11 #include<memory>
    12 #include<utility>
    13 #include<cstdio>
    14 #include<sstream>
    15 #include<iostream>
    16 #include<cstdlib>
    17 #include<cstring>
    18 #include<algorithm>//忒多的头文件
    19 using namespace std;
    20 int n,m;
    21 int mm[105][105];
    22 char a[105][105];
    23 int main(){
    24     cin>>n>>m;
    25     for(int i=1;i<=n;i++){
    26         scanf("%s",&a[i]);//我之前想的读入好复杂,,结果。。。
    27     }
    28     for(int i=1;i<=n;i++){//穷举
    29         for(int j=0;j<m;j++){
    30             if(a[i][j]=='*'){//是炸弹的情况
    31                 mm[i][j]=-100000000;//其实一个点最多就加8下
    32                 mm[i-1][j-1]++;//不停加,8个
    33                 mm[i-1][j]++;
    34                 mm[i-1][j+1]++;
    35                 mm[i][j-1]++;
    36                 mm[i][j+1]++;
    37                 mm[i+1][j-1]++;
    38                 mm[i+1][j]++;
    39                 mm[i+1][j+1]++;
    40             }
    41         }
    42     }
    43     for(int i=1;i<=n;i++){
    44         for(int j=0;j<m;j++){
    45             if(mm[i][j]<0){//是地雷就输出*
    46                 cout<<"*";
    47             }
    48             else{
    49                 cout<<mm[i][j];//不是就输出周围个数
    50             }
    51         }
    52         cout<<endl;
    53     }
    54     return 0;
    55 }

    其实最后输出的时候可以用一句概括为一个三目表达式:cout<<(mm[i][j]<0?'*':m[i][j]),理解起来应该不困难

    最后,祝大家AV!!!AK!!!

  • 相关阅读:
    1、线性DP 198. 打家劫舍
    1、线性DP 354. 俄罗斯套娃信封问题
    127. 单词接龙
    1. 线性DP 887. 鸡蛋掉落 (DP+二分)
    200. 岛屿数量
    1. 线性DP 152. 乘积最大子数组
    1. 线性DP 53. 最大子序和.
    1. 线性DP 120. 三角形最小路径和
    如何在RHEL 8上安装Python 3
    在Ubuntu 20.04 LTS Focal Fossa上安装Drupal
  • 原文地址:https://www.cnblogs.com/hahaha2124652975/p/11123084.html
Copyright © 2011-2022 走看看