day1 LGTB玩扫雷

先附上原题:

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

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
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;
}

  清清正正射命丸文是也~

时间: 2024-10-01 11:35:28

day1 LGTB玩扫雷的相关文章

day1 LGTB玩THD

先贴出原题: LGTB 最近在玩一个类似DOTA 的游戏名叫THD有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi每一秒,他都可以攻击任意一个活着的小兵,对其造成P 点伤害,如果小兵的血量低于1 点,小兵死亡,他得到金钱.他也可以不攻击任何小兵.每一秒LGTB 攻击完毕之后,塔会攻击距离塔最近的一个活着的小兵,对其造成Q 点伤害,如果小兵的血量低于1 点,小兵死亡,LGTB 不会得到金钱现在LGTB 想知道,在他选择最优策略时,他能得

[DP] LGTB 玩THD (复杂状态DP)

LGTB 玩THD LGTB 最近在玩一个类似DOTA 的游戏名叫THD有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi每一秒,他都可以攻击任意一个活着的小兵,对其造成P 点伤害,如果小兵的血量低于1 点,小兵死亡,他得到金钱.他也可以不攻击任何小兵.每一秒LGTB 攻击完毕之后,塔会攻击距离塔最近的一个活着的小兵,对其造成Q 点伤害,如果小兵的血量低于1 点,小兵死亡,LGTB 不会得到金钱现在LGTB 想知道,在他选择最优策略时,

[题解]?LGTB 玩THD

LGTB 最近在玩一个类似DOTA 的游戏名叫THD 有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi 每一秒,他都可以攻击任意一个活着的小兵,对其造成P 点伤害,如果小兵的血量低于1 点,小兵死亡,他得到金钱.他也可以不攻击任何小兵. 每一秒LGTB 攻击完毕之后,塔会攻击距离塔最近的一个活着的小兵,对其造成Q 点伤害,如果小兵的血量低于1 点,小兵死亡,LGTB 不会得到金钱 现在LGTB 想知道,在他选择最优策略时,他能得到多少

day1 LGTB学分块

原题如下: LGTB最近在学分块,但是他太菜了,分的块数量太多他就混乱了,所以只能分成3块今天他得到了一个数组,他突然也想把它分块,他想知道,把这个数组分成3块,块可以为空.假设3块各自的和中的最大值最小请输出分完之后3 块中的最大值输入输入第一行包含一个整数n 代表数组大小接下来n 个整数a1, a2, ..., an,代表数组对于40% 的数据,1=<n<= 10对于70% 的数据,1=<n<=103对于100% 的数据,1=<n<=105, 1=<ai<

[无主题] 三题

1.LGTB 玩扫雷 题意 在一个n m 的棋盘上,有位置上有雷(用“*” 表示),其他位置是空地(用“.” 表示).LGTB 想在每个空地上写下它周围8 个方向相邻的格子中有几个雷.请帮助他输出写了之后的棋盘 输入输入第一行包含两个整数n, m 代表棋盘大小接下来n 行,每行m 个字符,代表棋盘1≤n,m≥1000 输出输出包含n 行,每行m 个字符,代表LGTB 写了数字之后的棋盘 样例 样例输入3 3*.*...*.* 样例输出*2*242*2* 提示:暴力 1 #include<iost

[铁一中OI模拟赛]2017.8.20 Day2

T1 LGTB 玩扫雷 题目链接 思考: 纯模拟题,没啥说的. #include <cstdio> #include <cstring> #define up(a,b,c) for(register int c=a;c<=b;++c) int n,m,map[1005][1005]; char s[233]; int fx[]={0,0,-1,-1,-1,0,1,1,1},fy[]={0,-1,-1,0,1,1,1,0,-1}; int main(){ //freopen(&

迟到的儿童节礼物——小游戏三件套:扫雷,俄罗斯方块,数独

人的事情要么是饿出来了要么就是吃饱了撑出来的 其实写完刚好是在儿童节前两天,本打算作为儿童节礼物送给大家,结果新账号要3天才能发文章到主页,于是拖到了现在...事情是这样开始的:有一天,闲得蛋疼,看见同事在玩扫雷,然后就想着自己做一个,于是花了三天时间写一个自己的扫雷...写完扫雷感觉不过瘾,于是接着又写了俄罗斯方块,一晃又是三天...写完俄罗斯方块之后,觉得事不过三,再来一个,然后选了数独,其实知道这个应该是最有难度的,果然也纠结了三天数独生成算法才勉强写完...好了废话不多说,上图. 1. 

第一次写小小小小小游戏, 扫雷

想写扫雷的起因: 前两天上机课做完作业同学没事干, 跟我说:学校的电脑怎么连扫雷都没有啊? 当时我就跟她说 等我写一个给你玩! 然后, 就给自己挖下了这个坑. 现在正好快要期末考了, 这几天在努力复习高数, 好害怕挂啊, 所以扫雷这个坑就一点点填,八成是要等考完试之后再填完. 写这个扫雷跟竞赛完全没有关系, 就当是提高自己代码能力吧, 学习算法之余也搞点好玩的. 本人也不是经常玩扫雷, 不知道自己写的机制和真正的扫雷机制一不一样, 还顺便去百度了一下, 感觉差不多. 游戏呢就是一个简单的控制台,

游戏系列~扫雷(8)

#include <cstdio>#include <cmath>#include <iostream>#include <fstream>#include <cstdlib>#include <string>#include <iomanip>#include <cstring>#include <ctime>#include <algorithm>#include <queue