Java实现 蓝桥杯 算法提高 矩形靶
试题 算法提高 矩形靶
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
在矩形的世界里任何事物都是矩形的,矩形的枪靶,甚至矩形的子弹。现在给你一张NM的枪靶,同时告诉你子弹的大小为(2l+1)(2r+1)。读入一张01的图每个点的01状态分别表示这个点是否被子弹的中心击中(1表示被击中,0则没有)一旦一个点被子弹的中心击中,那么以这个点为中心 (2l+1)(2r+1) 范围内靶子上的点都会被击毁。要求输出最终靶子的状态。
输入格式
第一行为N,M,L,R表示靶子的大小,以及子弹的大小。
下面读入一个NM的01矩阵表示每个点是否被子弹的中心击中
输出格式
N*M的01矩阵表示靶子上的每个点是否被破坏掉
样例输入
4 4 1 1
1000
0000
0000
0010
样例输出
1100
1100
0111
0111
样例输入
7 4 1 1
1000
0000
0010
0000
0000
0000
0100
样例输出
1100
1111
0111
0111
0000
1110
1110
数据规模和约定
N,M<=600,l,r<=5
package com.company;
import java.util.Scanner;
public class 矩形靶 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int l = sc.nextInt();
int r = sc.nextInt();
char [][] str = new char[n][m];
char[][] a = new char[n][m];
for (int i=0;i<n;i++){
String s = sc.nextLine();
if (s.equals("")){
s=sc.nextLine();
}
str[i]=s.toCharArray();
a[i]=s.toCharArray();
}
sc.close();
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
if (str[i][j]=='1'){
for (int i1=i-l<0?0:i-l;i1<=i+l&&i1<n;i1++){
for (int j1=j-r<0?0:j-r;j1<=j+r&&j1<m;j1++){
a[i1][j1]='1';
}
}
}
}
}
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
System.out.print(a[i][j]);
}
System.out.println();
}
}
}
Java实现 蓝桥杯 算法提高 矩形靶的更多相关文章
- Java实现 蓝桥杯 算法提高 进攻策略加强(暴力)
试题 算法提高 进攻策略加强 问题描述 植物大战僵尸这款游戏中,还有一个特别的玩儿法:玩家操纵僵尸进攻植物. 首先,僵尸有m种(每种僵尸都是无限多的),玩家可以选择合适的僵尸来进攻.使用第i种僵尸需要 ...
- Java实现 蓝桥杯 算法提高 小X的购物计划
试题 算法提高 小X的购物计划 问题描述 小X打算去超市shopping.小X没什么钱,只有N元.超市里有M种物品,每种物品都需要money,在小X心中有一个重要度.有的物品有无限件,有的物品只有几件 ...
- Java实现 蓝桥杯 算法提高 和谐宿舍2
试题 算法提高 和谐宿舍2 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 我的某室友学过素描,墙上有n张他的作品.这些作品都是宽度为1,高度不定的矩形,从左到右排成一排,且底边在同 ...
- Java实现 蓝桥杯 算法提高 天天向上(DP)
试题 算法提高 天天向上 问题描述 A同学的学习成绩十分不稳定,于是老师对他说:"只要你连续4天成绩有进步,那我就奖励给你一朵小红花."可是这对于A同学太困难了.于是,老师对他放宽 ...
- Java实现 蓝桥杯 算法提高 欧拉函数(数学)
试题 算法提高 欧拉函数 问题描述 老师出了一道难题,小酱不会做,请你编个程序帮帮他,奖金一瓶酱油: 从1-n中有多少个数与n互质? |||||╭══╮ ┌═════┐ ╭╯让路║═║酱油专用车║ ╰ ...
- Java实现 蓝桥杯 算法提高 计算超阶乘(暴力)
试题 算法提高 计算超阶乘 问题描述 计算1*(1+k)(1+2k)(1+3k)-(1+n*k-k)的末尾有多少个0,最后一位非0位是多少. 输入格式 输入的第一行包含两个整数n, k. 输出格式 输 ...
- Java实现蓝桥杯 算法提高 线段和点
算法提高 线段和点 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 有n个点和m个区间,点和区间的端点全部是整数,对于点a和区间[b,c],若a>=b且a<=c,称点a满 ...
- Java实现蓝桥杯-算法提高 P1003
算法提高 P1003 时间限制:1.0s 内存限制:256.0MB 作为一名网络警察,你的任务是监视电子邮件,看其中是否有一些敏感的关键词.不过,有些狡猾的犯罪嫌疑人会改变某些单词的字母顺序,以逃避检 ...
- Java实现蓝桥杯 算法提高 八皇后 改
**算法提高 8皇后·改** 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大. 输入格式 一个8*8的棋 ...
随机推荐
- RocketMQ 入门
一.rocketMQ是什么 rocketmq是一款低延迟.高可靠.可伸缩.已使用的消息中间件.具有以下特性: 1.支持发布/订阅.点对点(p2p)消息模型 2.同一个队列中支持先进先出(FIFO)和严 ...
- 【Python代码】TSNE高维数据降维可视化工具 + python实现
目录 1.概述 1.1 什么是TSNE 1.2 TSNE原理 1.2.1入门的原理介绍 1.2.2进阶的原理介绍 1.2.2.1 高维距离表示 1.2.2.2 低维相似度表示 1.2.2.3 惩罚函数 ...
- Rabbit的字符串 字符串最小表示法
Rabbit的字符串 #include<bits/stdc++.h> using namespace std; ; char s[maxn]; int get_min_pos() { , ...
- js 简单有效判断日期有效性(含闰年)
原文:https://zhidao.baidu.com/question/1701946584925153620.html 要想精确验证,最容易想到的方法就是通过月份判断日期是否合法(1~28/29/ ...
- 分布式应用程序协调服务 ZooKeeper
1.简介: ZooKeeper 是一个分布的.开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题.统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等,简化分布式应用协调 ...
- MySQL(6)— 事务
六.事务 ACID: 原子性.一致性.隔离性和持久性 原子性(atomicity) :一组事务,不能再细分了,其中的sql, 要么全部提交成功,要么全部失败回滚,不能只提交其中的一部分操作. 一致性( ...
- SSH启动Tomcat:The requested resource is not available
原因:请求的资源不可用. 解决方法: (1)单词拼写错误,可能出现在 ——路径名称 ——配置文件名称 ——包名 ——类名 ——文件内的单词 (2)项目里文件的位置错误 (3)SSH相关的类文件里,定义 ...
- Align Content Properties
How to align the items of the flexible element? <!DOCTYPE html> <html lang="en"&g ...
- 对于近似有序序列(即除掉少数K个元素后是有序序列且K<<n),试分析直接插入排序,冒牌排序和简单选择排序的时间复杂度
学弟问的一道数据结构的题,关于一些排序算法的时间复杂度. 针对近似有序序列, ①当使用直接插入排序时,其基本操作为数组中元素的移动.最好情况下,待排序列有序,无需移动,此时时间复杂度为O(n), 当为 ...
- Centos7无界面化启动
Centos7无界面启动: 为了减少系统开销,有时候我们需要无图形界面启动linux(centos7) systemctl set-default multi-user.target (关闭图形界面) ...