博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day1 LGTB玩扫雷
阅读量:5371 次
发布时间:2019-06-15

本文共 995 字,大约阅读时间需要 3 分钟。

先附上原题:

在一个n m 的棋盘上,有位置上有雷(用“*” 表示),其他位置是空地(用“.” 表示)。

LGTB 想在每个空地上写下它周围8 个方向相邻的格子中有几个雷。
请帮助他输出写了之后的棋盘
输入
输入第一行包含两个整数n, m 代表棋盘大小
接下来n 行,每行m 个字符,代表棋盘
1 n,m 1000
输出
输出包含n 行,每行m 个字符,代表LGTB 写了数字之后的棋盘
O(∩_∩)O哈!这道题,毫无算法可言就是了,纯暴力循环。。。那么,下面贴出代码:

#include
#include
#include
#include
using namespace std;int a[1005][1005],n,m;char c,w='*';const int b[10][10]={
{0,0,1,-1,1,-1,1,-1},{1,-1,0,0,1,-1,-1,1}};int main(){ freopen("mine.in","r",stdin); freopen("mine.out","w",stdout); cin>>n>>m; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) { cin>>c; if(c=='*') { a[i][j]=-1; for(int k=0;k<=7;k++) { if(a[i+b[0][k]][j+b[1][k]]!=-1) a[i+b[0][k]][j+b[1][k]]++; } } } for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) { if(a[i][j]==-1) printf("%c",w); else printf("%d",a[i][j]); if(j==m) printf("\n"); } return 0;}

  清清正正射命丸文是也~

转载于:https://www.cnblogs.com/Ayateriteri/p/5671500.html

你可能感兴趣的文章
杭电acm Cake
查看>>
js函数中this的指向
查看>>
c++ 引用方式传递数组
查看>>
HBase学习之路 (九)HBase phoenix的使用
查看>>
LeetCode() Remove Duplicates from Sorted Array II
查看>>
【svn】idea svn 文件上会出现一个破书
查看>>
cocos2d-x 3.0 场景切换特效汇总(转)
查看>>
The SortedMap Interface
查看>>
SniperOJ-leak-x86-64
查看>>
bzoj 4260: Codechef REBXOR (01 Trie)
查看>>
学好python
查看>>
css-IE中的border-radius和box-shadow
查看>>
利用bootstrap和webform的异步CRUD及分页
查看>>
Saiku资源帖
查看>>
解决手机页面中点击文本框,网页放大问题
查看>>
2-5
查看>>
牛客多校3 A-PACM Team(状压降维+路径背包)
查看>>
HDU - 4284 Travel(floyd+状压dp)
查看>>
1027 制作表格
查看>>
面向对象的介绍与特性
查看>>